1. NULL值的处理
运算符 IS NULL IS NOT NULL
排序: 升序时NULL值在最后 即降序时NULL值在最前。
2. 逻辑表达式和逻辑运算符
F AND F = F T AND F = F T AND T = T
NULL AND F = F NULL AND T IS NULL NULL AND NULL IS NULL
T OR T = T T OR F = T F OR F = F
NULL OR F IS NULL NULL OR T = T NULL OR NULL IS NULL
NOT T = F NOT F = T
3. 空值转换函数 NVL(表达式1,表达式2)
如果表达式1为NULL,NVL返回值为表达式2的值,否则返回表达式1的值。
该函数的目的是把一个空值转换为实际的值。其表达式1和表达式2可以是数字型、字符型、或日期型,但表达式1和表达式2的数据类型必须一致。
对数字型:NVL(表达式,0)
对字符型:NVL(TO_CHAR(表达式),’NO Commission’)
对日期型:NVL(表达式,’31-DEC-99’)
3. DECODE 函数实现类似分支语句的功能。
4. Oracle9i新增加的单值函数和表达式
NVL2(表达式1,表达式2,表达式3)
如果表达式1不为NULL,NVL2函数返回值为表达式2的值
如果表达式1为空值(NULL),NVL2函数返回值为表达式3的值
NULLIF(表达式1,表达式2)
NULLIF函数比较表达式1和表达式2
如果两个表达式相等就返回空值(NULL)
如果不相等就返回表达式1
NULLIF的表达式1不能为NULL。
COALESCE(表达式1,表达式2,表达式3,……,表达式n)
返回表达式列表(表达式1,表达式2,表达式3,……,表达式n)中第一个不为空的表达式的值。
CASE表达式
例如:CASE job WHEN ‘SALESMAN’ THEN sal*1.5
WHEN ‘CLERK’ THEN sal*1.2
WHEN ‘ANALYST’ THEN sal*1.25
ELSE SAL *1.4
END