oracle function

COALESCE(a,b,c,d.....z)
返回参数表中第一个不为null的值(从左开始)

NVL (expr1, expr2)->expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致
NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型
NULLIF (expr1, expr2) ->相等返回NULL,不等返回expr1

如果是ROLLUP(A, B, C)的话,首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作。
如果是GROUP BY CUBE(A, B, C),则首先会对(A、B、C)进行GROUP BY,然后依次是(A、B),(A、C),(A),(B、C),(B),(C),最后对全表进行GROUP BY操作

取小数 round(number,n)

:old.xxx 更新前属性值
:new.xxx 更新后属性值

lower() 转换了字段内容为小写
upper() 转换了字段内容为大写

select next_day(date'2012-01-03',6) from dual;
--next_day 当前周的某一天 6指周五
--结果 1/6/2012
1    2    3    4    5    6    7  
日 一 二 三 四 五 六 

select add_months(date'2014-01-01', 3) from dual; -- 2014-4-1
select add_months(date'2014-01-01', -3) from dual; --2013-10-1

select date'2014-01-01'+3 from dual; -- 2014-01-04

RPAD/LPAD(string1,x[,string2])

功能:返回在X字符长度的位置上插入一个string2中的字符的string1。如果string2的长度要比X字符少,就按照需要进行复制。如果string2多于X字符,则仅string1前面的X各字符被使用。如果没有指定string2,那么使用空格进行填充。X是使用显示长度可以比字符串的实际长度要长。RPAD的行为方式与LPAD很相似,除了它是在右边而不是在左边进行填充。

sign(value1 - value2)
sign()函數根據某個值是0, 正數還是負數, 分別返回0, 1, -1
範例:
value1 = 10 , value2 = 20
select decode(sign(value1  - value2), -1, 變量1, 變量2) from dual
則sign(value1 - value2)返回-1, decode解碼結果為“變量1”

replace(column,'A','B') 替换A到B

你可能感兴趣的:(oracle,C++,c,C#)