SQL一些简单函数的总结

字符函数:

控制大小写:  
 

LOWER('SQL Course')
sql course
UPPER('SQL Course')
SQL COURSE
INITCAP('SQL Course')
Sql Course

字符控制: 
 
   
CONCAT(‘Hello’, ‘World’) 字符相加
HelloWorld
SUBSTR(‘HelloWorld’,1,5) 示几个字符
Hello
LENGTH(‘HelloWorld’)
10
INSTR(‘HelloWorld’, ‘W’) 看字符第一次出 的位置
6
LPAD(salary,10,‘*’) 补齐
*****24000
RPAD(salary, 10, ‘*’) 补齐
24000*****
TRIM(‘H’ FROM ‘HelloWorld’) 剪切首个出 的字母
elloWorld

数字函数:

 

ROUND(45.926, 2) 四舍五入
45.93
TRUNC(45.926, 2)  截断
45. 92
MOD(1600, 300) 求余
100

日期函数:

 

MONTHS_BETWEEN ('01-SEP-95','11-JAN-94')
19.6774194
ADD_MONTHS ('11-JAN-94',6)
'11-JUL-94'
NEXT_DAY ('01-SEP-95','FRIDAY')
'08-SEP-95'
LAST_DAY('01-FEB-95')
'28-FEB-95'

 

Assume SYSDATE = '25-JUL-95':
ROUND(SYSDATE,'MONTH')
01-AUG-95
ROUND(SYSDATE ,'YEAR')
01-JAN-96
TRUNC(SYSDATE ,'MONTH')
01-JUL-95
TRUNC(SYSDATE ,'YEAR')
01-JAN-95

转换函数:

  TO_CHAR(date, 'format_model')

YYYY
2004
YEAR
TWO THOUSAND AND FOUR
MM
02
MONTH
JULY
MON
JUL
DY
MON
DAY
MONDAY
DD
02

 

TO_CHAR(number, 'format_model')

9
数字
0
$
美元符
L
本地货币符号
.
小数点
,
千位符

  

使用 TO_NUMBER 函数将字符转换成数字 :
TO_NUMBER(char[, 'format_model'])
使用 TO_DATE 函数将字符转换成日期 :
TO_DATE(char[, 'format_model'])
 
通用函数:
  
NVL (expr1, expr2)
如果 expr1 非空 , 返回 expr1 ,否则返回 expr2
NVL2 (expr1, expr2, expr3)
如果 expr1 非空 , 返回 expr2 ,否则返回 expr3
NULLIF (expr1, expr2)
如果 expr1 expr2 相等 , 返回空,否则返回 expr1
COALESCE (expr1, expr2, ..., exprn)
如果第一个表达式非空 , 则返回这个表达式,对其他的参数进行 COALESCE 。(即从 expr1 依次开始,直到找到一个不为空的表达式返回。)

 

  条件表达式:CASE 表达式和DECODE 函数(二者应用各有侧重,参考我的另一篇关于二者比较的专题)

 
CASE expr WHEN comparison_expr1 THEN return_expr1
         [WHEN comparison_expr2 THEN return_expr2
          WHEN comparison_exprn THEN return_exprn
          ELSE else_expr]
END
(case when的一个变种)
CASE
         WHEN comparison_expr1 THEN return_expr1
         [WHEN comparison_expr2 THEN return_expr2
          WHEN comparison_exprn THEN return_exprn
          ELSE else_expr]
END
 
 
DECODE(col|expression, search1, result1
                                   [, search2, result2,...,]
                                   [, searchn, resultn,...,]
                                   [, default])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值