摘自: http://blog.csdn.net/feifei666888/article/details/4835685
两种时间转换格式
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;