(三)日期函数
Months_between
select months_between(sysdate+35,sysdate) from dual
结果:1.16129032258065
用第一个参数的时间减去第二个参数的时间,得到月份的差。
Add_months
select add_months(sysdate,1) from dual
当前月份加了一个月
interval
select sysdate + interval '3 ' year from dual
当前日期加了三年
select sysdate + interval '3-2 ' year to month from dual
当前日期加了三年两个月
select sysdate + interval '10 2:10 ' day to minute from dual
当前日期加了 十天两小时十分钟
Next_day
select next_day(sysdate,'星期一') from dual
选择了下一个星期一的日期
Last_day
select last_day(sysdate) from dual
选择了这个月的最后一天
(四)转换函数
To_char
select to_char(sysdate,'yyyy-MM-dd') from dual; 结果:2010-10-30
To_number
select to_number('13')+to_number('14') from dual;结果:27
To_date
Select to_date('2012-1-1','yyyy-MM-dd') from dual;结果:2012-1-1
(五)通用函数
NVL
select nvl('string',0) from dual 结果:string
select nvl('',0) from dual 结果:0
NullIF
select nullif('abc','abc') from dual 结果:空
select nullif('abc','abcd') from dual 结果:’abc
NVL2
select nvl2('a','b','c') from dual 结果:b
select nvl2('','b','c') from dual 结果:c
如果第一个参数不为空,则返回第二个参数;否则,返回第三个参数
Coalesce
select COALESCE('','','abc','') from dual 结果:abc
select COALESCE('','','','') from dual 结果:空
依次考察各个参数,如有非空则停止并返回该值。
Case表达式
select case 4
when 10 then
'财务部'
when 20 then
'研发部'
when 30 then
'销售部'
else
'未知部门'
end 部门
from dual
结果:未知部门
Decode表达式
select decode(10, 10, '财务部', 20, '研发部', 30, '销售部', '未知部门') 部门
from dual;结果:财务部
select decode(2,10,'财务部',decode(3,20,'研发部',decode(4,30,'销售部','未知部门'))) from dual; 结果:未知部门
第一个参数是否等于第二个参数,如果等于,则返回第三个参数,否则返回第四个参数,可用于行转列。
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|