zoukankan      html  css  js  c++  java
  • 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 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.获得当前日期是本月第几周:

    1 SELECT TO_CHAR(SYSDATE,'YYYYMMDD W HH24:MI:SS') FROM DUAL; 
    2 
    3 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;
  • 相关阅读:
    微信公众号迁移配置注意点
    关于memcache 命令查看和 Telnet
    centOS 安装(光安装 和 u盘安装)
    CentOS删除自带的java,安装新java
    ubuntu常用命令
    ubuntu 的挂起与休眠
    saiku应用的调试
    数据挖掘123
    unbutu 安装java教程
    workbench的schema讲解一:(维度dimension设置的基本内容)
  • 原文地址:https://www.cnblogs.com/forever-love-zjl/p/9717413.html
Copyright © 2011-2022 走看看