Oracle学习(单行函数)(二)
9832', 9999) from dual;
www.2cto.com
<3>.TO_DATE(char[,‘fmt’]): 把字符类型列或表达式转换为日期类型
select to_date('20120304', 'yy-mm-dd') from dual;
六.通用函数
<1>NVL(表达式1,表达式2)函数:该函数功能是空值转换,把空值转换为其他值,解决空值问题。如果表达式1为空,则表达式2就是要转换成的值。
注意:数据格式可以是日期、字符、数字,但数据类型必须匹配
select nvl(null,1) from dual;
select nvl(2,1) from dual;
www.2cto.com
<2>.NVL2(表达式1, 表达式2, 表达式3)函数:该函数是对第一个参数进行检查。如果第一个参数不为空,则输出第二个参数,如果第一个参数为空,则输出低三个参数,表达式1可以为任何数据类型。
select nvl2(null,1,2) from dual;
select nvl2(3,1,2) from dual;
<3>.NULLIF(表达式1,表达式2)函数:该函数主要完成两个参数的比较。当两个参数不相等时,返回值是第一个参数值;当两个参数相等时,返回值是空值。
select nullif(1,1) from dual;
返回值是:
不是null;
不是null;
select nullif(1,2) from dual;
<4>.COALESCE(表达式1, 表达式2, ... 表达式n)函数:该函数是对NVL函数的扩展。COALESCE函数功能是返回第一个不为空的参数,参数个数不受限制。
select coalesce(null,null,0,1) from dual;
<5>.CASE表达式:
SELECT last_name, commission_pct,
(CASE commission_pct
WHEN 0.1 THEN '低'
WHEN 0.2 THEN '中'
WHEN 0.3 THEN '高'
ELSE '无' www.2cto.com
END) Commission
FROM employees
WHERE commission_pct IS NOT NULL
ORDER BY last_name;
<6>.DECODE函数:
DECODE(字段|表达式, 条件1,结果1[,条件2,结果2…,][,缺省值])
select last_name, commission_pct,decode( commission_pct,0.1,'低',0.2,'中',0.3 , '高','无') commission
from employees where commission_pct is not null orderbylast_name;
作者 wangbaoyin