oracle 时间函数

加法 
select sysdate,add_months(sysdate,12) from dual; --加1年 
select sysdate,add_months(sysdate,1) from dual; --加1月 
select sysdate,to_char(sysdate+7,‘yyyy-mm-dd HH24:MI:SS‘) from dual; --加1星期 
select sysdate,to_char(sysdate+1,‘yyyy-mm-dd HH24:MI:SS‘) from dual; --加1天 
select sysdate,to_char(sysdate+1/24,‘yyyy-mm-dd HH24:MI:SS‘) from dual; --加1小时 
select sysdate,to_char(sysdate+1/24/60,‘yyyy-mm-dd HH24:MI:SS‘) from dual; --加1分钟 
select sysdate,to_char(sysdate+1/24/60/60,‘yyyy-mm-dd HH24:MI:SS‘) from dual; --加1秒

减法 
select sysdate,add_months(sysdate,-12) from dual; --减1年 
select sysdate,add_months(sysdate,-1) from dual; --减1月 
select sysdate,to_char(sysdate-7,‘yyyy-mm-dd HH24:MI:SS‘) from dual; --减1星期 
select sysdate,to_char(sysdate-1,‘yyyy-mm-dd HH24:MI:SS‘) from dual; --减1天 
select sysdate,to_char(sysdate-1/24,‘yyyy-mm-dd HH24:MI:SS‘) from dual; --减1小时 
select sysdate,to_char(sysdate-1/24/60,‘yyyy-mm-dd HH24:MI:SS‘) from dual; --减1分钟 
select sysdate,to_char(sysdate-1/24/60/60,‘yyyy-mm-dd HH24:MI:SS‘) from dual; --减1秒

ORACLE时间函数(SYSDATE)简析 
1:取得当前日期是本月的第几周 
SQL> select to_char(sysdate,‘YYYYMMDD W HH24:MI:SS‘) from dual; 
TO_CHAR(SYSDATE,‘YY 
------------------- 
20030327 4 18:16:09 
SQL> select to_char(sysdate,‘W‘) from dual; 



2:取得当前日期是一个星期中的第几天,注意星期日是第一天 
SQL> select sysdate,to_char(sysdate,‘D‘) from dual; 
SYSDATE T 
--------- - 
27-MAR-03 5 
  类似: 
select to_char(sysdate,‘yyyy‘) from dual; --年 
select to_char(sysdate,‘Q‘ from dual; --季 
select to_char(sysdate,‘mm‘) from dual; --月 
select to_char(sysdate,‘dd‘) from dual; --日 
ddd 年中的第几天 
WW 年中的第几个星期 
W 该月中第几个星期 
D 周中的星期几 
hh 小时(12) 
hh24 小时(24) 
Mi 分 
ss 秒 
3:取当前日期是星期几中文显示: 
SQL> select to_char(sysdate,‘day‘) from dual; 
TO_CHAR(SYSDATE,‘DAY‘) 
----------------------

星期四 
4:如果一个表在一个date类型的字段上面建立了索引,如何使用 
alter session set NLS_DATE_FORMAT=‘YYYY-MM-DD HH24:MI:SS‘

5: 得到当前的日期 
select sysdate from dual; 
6: 得到当天凌晨0点0分0秒的日期 
select trunc(sysdate) from dual; 
-- 得到这天的最后一秒 
select trunc(sysdate) + 0.99999 from dual; 
-- 得到小时的具体数值 
select trunc(sysdate) + 1/24 from dual; 
select trunc(sysdate) + 7/24 from dual; 
7.得到明天凌晨0点0分0秒的日期 
select trunc(sysdate+1) from dual; 
select trunc(sysdate)+1 from dual; 
8: 本月一日的日期 
select trunc(sysdate,‘mm‘) from dual; 
9:得到下月一日的日期 
select trunc(add_months(sysdate,1),‘mm‘) from dual;

10:返回当前月的最后一天? 
select last_day(sysdate) from dual; 
select last_day(trunc(sysdate)) from dual; 
select trunc(last_day(sysdate)) from dual; 
select trunc(add_months(sysdate,1),‘mm‘) - 1 from dual; 
11: 得到一年的每一天 
select trunc(sysdate,‘yyyy‘)+ rn -1 date0 
from 
(select rownum rn from all_objects 
where rownum<366); 
12:今天是今年的第N天 
SELECT TO_CHAR(SYSDATE,‘DDD‘) FROM DUAL; 
13:如何在给现有的日期加上2年 
select add_months(sysdate,24) from dual; 
14:判断某一日子所在年分是否为润年 
select decode(to_char(last_day(trunc(sysdate,‘y‘)+31),‘dd‘),‘29‘,‘闰年‘,‘平年‘) from dual; 
15:判断两年后是否为润年 
select decode(to_char(last_day(trunc(add_months(sysdate,24),‘y‘)+31),‘dd‘),‘29‘,‘闰年‘,‘平年‘) from dual; 
16:得到日期的季度 
select ceil(to_number(to_char(sysdate,‘mm‘))/3) from dual; 
select to_char(sysdate, ‘Q‘) from dual;

时间: 2024-10-12 10:34:02

oracle 时间函数的相关文章

ORACLE时间函数(SYSDATE)深入理解

加法 select sysdate,add_months(sysdate,12) from dual; --加1年 select sysdate,add_months(sysdate,1) from dual; --加1月 select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; --加1星期 select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from

Oracle时间函数numtoyminterval()

格式:NumToYMInterval(n, interval_unit); n: 数值类型 interval_unit: 'YEAR', 'MONTH' ,或其他可以转换成这两个值之一的表达式 NumToYMInterval(1, 'YEAR') :一年后的间隔 NumToYMInterval(-1, 'MONTH'): 一个月前 小数会被计算成整数后,再做计算: select sysdate + numtoyminterval(0.1, 'MONTH')  as future from dua

Oracle时间日期函数

ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)           Year:              yy two digits 两位年                显示值:07        yyy three digits 三位年                显示值:007        yyyy four digits 四位年                显示值:2007                    Month

ORACLE日期时间函数大全

ORACLE日期时间函数大全    TO_DATE格式(以时间:2007-11-02   13:45:25为例) Year:              yy two digits 两位年                显示值:07        yyy three digits 三位年                显示值:007        yyyy four digits 四位年                显示值:2007 Month:              mm    numbe

mysql与oracle的日期/时间函数小结

前言 本文的日期/时间全部格式化为”2016-01-01 01:01:01“形式: MONITOR_TIME为数据库表字段: 字符串与日期/时间相互转换函数 Oracle 日期/时间转字符串函数:to_char(t.MONITOR_TIME, 'yyyy-mm-dd hh24:mi:ss') as monitorTime 字符串转日期/时间函数:TO_Date(”2016-01-01 01:01:01“, 'yyyy-mm-dd hh24:mi:ss') Mysql 日期/时间转字符串函数:DA

ORACLE日期时间函数

ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)           Year:              yy two digits 两位年                显示值:07        yyy three digits 三位年                显示值:007        yyyy four digits 四位年                显示值:2007                    Month

oracle 日期时间函数

ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)           Year:              yy two digits 两位年                显示值:07        yyy three digits 三位年                显示值:007        yyyy four digits 四位年                显示值:2007                    Month

[转]ORACLE日期时间函数大全

TO_DATE格式(以时间:2007-11-02   13:45:25为例)           Year:              yy two digits 两位年                显示值:07        yyy three digits 三位年                显示值:007        yyyy four digits 四位年                显示值:2007                    Month:             

Oracle TO_DATE() 函数格式化时间【全】

TO_DATE格式(以时间:2007-11-02   13:45:25为例)          Year:             yy two digits 两位年                显示值:07        yyy three digits 三位年                显示值:007        yyyy four digits 四位年                显示值:2007                   Month:             mm