zoukankan      html  css  js  c++  java
  • 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;
    T
    -
    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;

  • 相关阅读:
    Solution -「ARC 101D」「AT4353」Robots and Exits
    Solution -「多校联训」轮回
    Solution -「多校联训」种蘑菇
    Solution -「多校联训」染色
    luoguP4389 完全背包计数
    Js 之notification浏览器桌面通知
    Linux 之shell脚本调用另一个shell脚本
    Linux 之开机自启动脚本
    Js 之简单ajax封装
    PHP 之phpsocket.io客户端主动推送给服务器
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/2127353.html
Copyright © 2011-2022 走看看