通用函数
这些函数适用于任何数据类型,同时也适用于空值:
NVL 函数
NVL (expr1, expr2)
--expr1为NULL,返回expr2,否则返回expr1。
NVL2 函数
NVL2 (expr1, expr2, expr3)
--expr1不为NULL,返回expr2;expr1为NULL,返回expr3。
NULLIF 函数
NVL (expr1, expr2)
--expr1和expr2相等,返回null;不相等,返回expr1。
--expr1不能为null,expr2可以为null。
条件表达式
职位是总载的,工资+1000;职位是经理的,工资+800;职位是其它的,工资+400。
CASE 表达式:SQL99的语法,比较繁琐
case 字段
when 条件1 then 表达式1
when 条件2 then 表达式2
else 表达式n
end
DECODE 函数:Oracle自己的语法,比较简单
decode(字段,条件1,表达式1,条件2,表达式2,...表达式n)
嵌套函数
单行函数可以嵌套,嵌套函数的执行顺序是由内到外。
单双引号问题
单引号出现的地方如下:
1)字符串,例如:'hello'
2)日期型,例如:'17-12月-80'
3)to_char/to_date(日期,'YYYY-MM-DD HH24:MI:SS')
双引号出现的地方如下:
1)列别名,例如:select ename "姓 名" from emp
2)to_char/to_date(日期,'YYYY"年"MM"月"DD"日" HH24:MI:SS')