日期:2014-05-17  浏览次数:20737 次

oracle中日期相加减之后的结果都是interval类型?
今天看了篇外文提到的只言片语,没找到相关资料,有知道确切答案的吗

------解决方案--------------------
oracle date+/-number=date
date-date=number

------解决方案--------------------
--oracle中时间相关的一些操作

Select sysdate from dual --取当前系统时间

Select to_char(sysdate , 'YYYY-MM-DD HH:MI:SS') from dual --取当前系统时间,转换为字符串
 
Select trunc(sysdate) from dual --取当前日期
 
Select trunc(sysdate , 'MM') from dual --取当前月的第一天
 
Select trunc(sysdate , 'YYYY') from dual --取当年的元旦
 
Select to_char(sysdate , 'ss') from dual --取当前时间秒部分
 
Select to_char(sysdate , 'mi') from dual --取当前时间分钟部分
 
Select to_char(sysdate , 'HH24') from dual --取当前时间小时部分
 
Select to_char(sysdate , 'DD') from dual --取当前时间日期部分 

Select to_char(sysdate , 'MM') from dual --取当前时间月部分
 
Select to_char(sysdate , 'YYYY') from dual --取当前时间年部分
 
Select to_char(sysdate , 'w') from dual --取当前时间是一个月中的第几周(从1日开始算)
 
Select to_char(sysdate , 'ww') from dual --取当前时间是一年中的第几周(从1.1开始算)
 
Select to_char(sysdate , 'iw') from dual --取当前时间是一年中的第几周(按实际日历的)
 
Select to_char(sysdate , 'd') from dual --取当前时间是一周的第几天,从星期天开始,周六结束 

Select to_char(sysdate , 'day') from dual --取当前日是星期几,和数据库设置的字符集有关,会输出’Tuesday’ 

Select to_char(sysdate , 'ddd') from dual --当前日是一年中的第几天 

Select Add_months(sysdate , 12) from dual --取一年后的今天 

Select sysdate - (sysdate - 100) from dual --取两个日期之间的天数 

Select (sysdate - (sysdate - 100)) * 1440 from dual --取两个日期之间的分钟数
 
Select (sysdate - (sysdate - 100)) * 1440 * 60 from dual --取两个日期之间的秒数
 
Select months_between(sysdate,sysdate - 100) from dual --取两个日期间隔的月份

Select trunc(months_between(sysdate,sysdate - 100)) from dual --取两个日期间隔的月份
 
Select trunc(last_day(sysdate)) from dual --取当前月的最后一天
 
Select next_day(sysdate , 1) from dual --取当前日之后第一个星期天,里面的’1’表示取星期日,如果今天正好是星期日,则会显示下一个星期日