• 日期函数


    --常见日期格式
    以时间 2007-11-02   13:45:25 为例
    
    YEAR:
        YY         两位年      显示值:07
        YYY     三位年      显示值:007
        YYYY     四位年      显示值:2007
                
    MONTH:      
        MM        两位月         显示值:11
        MON        字符集表示     显示值:11月,若是英文版,显示NOV
        MONTH     字符集表示     显示值:11月,若是英文版,显示NOVEMBER
              
    DAY:      
        DD        当月第几天            显示值:02
        DDD        当年第几天            显示值:02
        DY        当周第几天简写        显示值:星期五,若是英文版,显示FRI
        DAY        当周第几天全写        显示值:星期五,若是英文版,显示FRIDAY
                 
    HOUR:
        HH        12小时进制           显示值:01
        HH24     24小时进制           显示值:13
          
    MINUTE:
        MI        60进制               显示值:45
          
    SECOND:
        SS        60进制               显示值:25
          
    其它:
        Q         季度                    显示值:4
        WW        当年第几周           显示值:44
        W        当月第几周           显示值:1
                  
        24小时格式下时间范围为: 0:00:00 - 23:59:59
        12小时格式下时间范围为: 1:00:00 - 12:59:59
    
    --日期、字符、数字类型互相转换,NUMBER和DATE要以TO_CHAR为中转
    SELECT TO_DATE('2007-11-02   13:45:25','YYYY-MM-DD HH24:MI:SS') FROM DUAL;
    SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL;
    SELECT TO_CHAR(SYSDATE,'MM') FROM DUAL;
    
    --ROUND函数和TRUNC函数,可以操作日期也可以操作数值
    SELECT ROUND(SYSDATE,'MON')  FROM DUAL;     --会根据指定格式四舍五入
    SELECT SYSDATE,ROUND(SYSDATE,'DD'),ROUND(SYSDATE,'DDD'),ROUND(SYSDATE,'D'),ROUND(SYSDATE,'DY'),ROUND(SYSDATE,'DAY') FROM DUAL;
    --这里要尤其注意,天的格式的选择,会产生不同的结果
    SELECT SYSDATE,ROUND(SYSDATE,'MM'),ROUND(SYSDATE,'MON'),ROUND(SYSDATE,'MONTH') FROM DUAL;
    SELECT SYSDATE,ROUND(SYSDATE,'Y'),ROUND(SYSDATE,'YY'),ROUND(SYSDATE,'YYY'),ROUND(SYSDATE,'YYYY'),ROUND(SYSDATE,'YEAR') FROM DUAL;
    
    SELECT TRUNC(SYSDATE,'MON')  FROM DUAL;     --返回截断时间,即不会四舍五入,例:2018-06-22  --> 2018-06-01
    SELECT SYSDATE,TRUNC(SYSDATE,'DD'),TRUNC(SYSDATE,'DDD'),TRUNC(SYSDATE,'D'),TRUNC(SYSDATE,'DY'),TRUNC(SYSDATE,'DAY') FROM DUAL;
    --这里要尤其注意,天的格式的选择,会产生不同的结果
    SELECT SYSDATE,TRUNC(SYSDATE,'MM'),TRUNC(SYSDATE,'MON'),TRUNC(SYSDATE,'MONTH') FROM DUAL;
    SELECT SYSDATE,TRUNC(SYSDATE,'Y'),TRUNC(SYSDATE,'YY'),TRUNC(SYSDATE,'YYY'),TRUNC(SYSDATE,'YYYY'),TRUNC(SYSDATE,'YEAR') FROM DUAL;
    
    --其他函数
    SELECT ADD_MONTHS(SYSDATE,2) FROM DUAL;     --日期推后2个月
    SELECT LAST_DAY(SYSDATE) FROM DUAL;  --日期最后一天
    SELECT NEXT_DAY(TO_DATE('2018-07-04','YYYY-MM-DD'), 1) FROM DUAL;    --日期后的周几,以1为星期天开始
    SELECT MONTHS_BETWEEN(SYSDATE, TO_DATE('2018-07-15','YYYY-MM-DD')) FROM DUAL;     --两个日期间有几个月
  • 相关阅读:
    touch创建文件
    excel如何冻结首行或首列及首行首列同时冻结
    cd mkdir mv cp rm 命令目录相关操作
    months_between()用法
    sysdate()简单用法
    round()和trunc()用法
    length() 用法
    replace 用法
    orcl 中upper()和lower()和initcap()的用法
    orcl 复杂查询
  • 原文地址:https://www.cnblogs.com/ls11736/p/9235613.html
Copyright © 2020-2023  润新知