您的位置:首页 > 数据库 > Oracle

oracle 时间转化函数及常见函数

2009-11-19 15:47 429 查看
两种时间转换格式

plsql>

select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;

select date‘'2005-01-01’ from dual;

按规定格式 获得系统时间 如下:

select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual

or

select to_char(sysdate,'yyyy-MM-dd) from dual

select to_date(to_CHAR(sysdate,'yyyymmdd'),'yyyymmdd') from dual;

or

select to_char(sysdate,' HH24:mm:ss') from dual

字符串搜索比较 并返回对应的结果函数

decode 函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。

----没有默认值,返回null

decode (expression, search_1, result_1)或decode (expression, search_1, result_1,null)

decode (expression, search_1, result_1, search_2, result_2)

或decode (expression, search_1, result_1, search_2, result_2,null)

decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n)



decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n,null)
--------有默认值,返回默认值
decode (expression, search_1, result_1, default)
decode (expression, search_1, result_1, search_2, result_2, default)
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)

函数nvl(exp1,expl2,expl3)和nvl2(exp1,expl2)的应用

第一种方法:使用NVL函数处理NULL值。

其语法格式是NVL(exp1,exp2)。其中参数exp1和exp2可以使任意数据的类型,但两者数据类型必须匹配。如果exp1为空返回exp2,否则返回exp1的值。示例:select ename,sal,comm,sal+nvl(comm,0) as salary from emp;

第二种方法:使用NVL2函数处理NULL值。

其语法格式是NVL2(exp1,exp2,exp3)。这是oracle9i新增加的函数。如果exp1不是NULL,则返回exp2;如果exp1是NULL,则返回exp3。当然数据类型要匹配,更要注意的是exp2和exp3的类型不能是LONG类型的。示例:select ename,nvl2(comm,sal+comm,sal) from emp;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: