SQL Fundamentals || Single-Row Functions || 通用函数 General function || (NVL,NVL2,NULLIF,DECODE,CASE,COALESCE)
SQL Fundamentals || Oracle SQL语言
SQL Fundamentals || Single-Row Functions || 字符函数 character functions
SQL Fundamentals || Single-Row Functions || 数字函数number functions
SQL Fundamentals || Single-Row Functions || 日期函数date functionsSQL Fundamentals || Single-Row Functions || 转换函数 Conversion function
SQL Fundamentals || Single-Row Functions || 通用函数 General function
Oracle自己提供的有特色的函数;
函数名称 |
描述 |
NVL(数字 | 列 , 默认值) |
如果显示的数字是null的话,则使用默认数值表示 使用NVL()函数处理null
|
NVL2(数字 | 列 , 返回结果一(不为空显示) , 返回结果二(为空显示)) |
判断指定的列是否是null,如果不为null则返回结果一,为空则返回结果二
|
NULLIF(表达式一,表达式二) |
比较表达式一和表达式二的结果是否相等,如果相等返回NULL,如果不等返回表达式一
FROM emp ; |
DECODE(列 | 值 , 判断值1,显示结果1, 判断值2,显示结果2,…, 默认值)
java语言中,if…else判断都是逻辑条件,而在DECODE()里面判断的就是数值. |
多值判断,如果某一个列(或某一个值)与判断值相同,则使用指定的显示结果输出,如果没有满足条件,则显示默认值
DECODE(job, 'CLERK','业务员', 'SALESMAN','销售人员', 'MANAGER','经理', 'ANALYST','分析员', 'PRESIDENT','总裁') job FROM emp ;
DECODE(job, 'CLERK','业务员', 'SALESMAN','销售人员', 'MANAGER','经理') job FROM emp ;
|
CASE 列 | 数值 WHEN 表达式1 THEN 显示结果1 … ELSE 表达式N …END |
用于实现多条件判断,在WHEN之后编写条件,而在THEN之后编写条件满足的显示操作,如果都不满足则使用ELSE中的表达式处理
CASE job WHEN 'CLERK' THEN sal * 1.1 WHEN 'SALESMAN' THEN sal * 1.2 WHEN 'MANAGER' THEN sal * 1.3 ELSE sal * 1.5 END 新工资 FROM emp ; |
COALESCE(表达式1, 表达式2 , …表达式n) |
将表达式逐个判断,如果表达式1的内容是null,则显示表达式2,如果表达式2的内容是null,则显示表达式3,依次类推,如果表达式n的结果还是null,则返回null
FROM emp |