Oracle中几个关于日期方面的SQL实例

Oracle中几个关于日期方面的SQL实例

№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; 



– 

4  №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;
阅读全文


类别:
数据库 
查看评论

转载于:https://www.cnblogs.com/plume/archive/2010/01/21/1711720.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110817.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号