ORACLE时间计算相关函数整理
select sysdate "sysdate" from dual;sysdate-------------------------2013/8/5 10:20:14
?
?
?
-- 日期精确到 年 月 日 时 分 秒 季度 世纪
-- trunc() & round() 这两个函数经常被使用在数值处理中,日期类型中同样适用。
TRUNC(date [, fmt ])
ROUND(date [, fmt ])
fmt列表如下:
?
Table 5-14?lists the format models you can use with the?ROUND
?and?TRUNC
?date functions and the units to which they round and truncate dates. The default model, 'DD', returns the date rounded or truncated to the day with a time of midnight.
The following example returns the year 1998.
SQL> select to_char(sysdate,'yyyy-mm-dd:hh24:mi:ss:pm:dy') from dual; TO_CHAR(SYSDATE,'YYYY-MM-DD:HH---------------------------------------2013-08-05:11:05:38:上午:星期一?
?
下面是一些常用的例子:
fmt = 'yyyy' -- 显示datetime的当前年 4位字符fmt = 'yyy' -- 显示datetime的当前年 后三位字符fmt = 'yy' -- 显示datetime的当前年 后两位字符fmt = 'y' -- 显示datetime的当前年 最后一位字符fmt = 'Q' -- 显示datetiem所在季度fmt = 'mm' -- 显示datetime的当前月份fmt = 'IW' -- 显示datetime的周 (按日历上的那种每年有52或53周 例如20130107为日历上2013年的第二周)fmt = 'WW' -- 显示datetime为本年中第几个星期/七天(本年1月1号至1月7号为本年第一个星期 非日历上的正常周)fmt = 'W' -- 显示datetime为本月中第几个星期/七天(1号到7号为第一个星期 或者说是第一个七天)fmt = 'ddd' -- 显示datetime的当前日期在本年中的第几天fmt = 'dd' -- 显示datetime的当前日期中的天fmt = 'd' -- 显示datetime是当前周的第几天 (周日为第一天)fmt = 'hh' -- 显示datetime小时 12小时制fmt = 'hh24' -- 显示datetime小时 24小时制 fmt = 'mi' -- 显示datetime分钟fmt = 'ss'? ?-- 显示datetime秒?
IW与WW 区别 可见? ? ? ? ? ? ?http://www.360doc.com/content/13/0805/11/764260_304857194.shtml
?
例句
SQL> select to_char(sysdate,'yy') from dual;TO_CHAR(SYSDATE,'YY')---------------------13? ?
----***********************************************************************************
-- 时间间隔计算
??-- 当前时间减去5年的时间 select sysdate,sysdate - interval '5' year from dual; 当前时间减去5月的时间 select sysdate,sysdate - interval '5' month from dual; 当前时间减去5天的时间 select sysdate - interval '5' day from dual;-- 当前时间减去5小时的时间 select sysdate - interval '5' hour from dual;-- 当前时间减去5分钟的时间 select sysdate,sysdate - interval '5' MINUTE from dual;-- 当前时间减去5秒时间 select sysdate,sysdate - interval '5' second from dual;-- 时间间隔乘以一个数字 select sysdate,sysdate - 4*interval '5' MINUTE from dual?-- 计算某月最后一天?-- 计算某月最后一天select last_day(sysdate) from dual;LAST_DAY(SYSDATE)-----------------2013/8/31 11:51:5??待续...... 欢迎补充?