zoukankan      html  css  js  c++  java
  • Oracle基础 (十三)日期函数

    日期函数

    SYSDATE

    --当前系统时间
    select sysdate from dual;

    EXTRACT

    --获取当前年份
    select extract(year from sysdate) from dual; --
    select extract(month from sysdate) from dual; --
    select extract(day from sysdate) from dual; --

    TO_DATE

    --将字符串转换为日期
    SELECT TO_DATE('2014-12-31', 'yyyy-mm-dd') FROM DUAL;
    SELECT TO_DATE('2014-12-31 15:20:45', 'yyyy-mm-dd hh24:mi:ss') FROM DUAL;
    SELECT TO_DATE('2014年12月31日', 'yyyy"年"mm"月"dd"日') AS T FROM DUAL;
    --两个日期间的天数      
    SELECT FLOOR(SYSDATE - TO_DATE('20141201', 'yyyymmdd')) FROM DUAL;

    TO_DATE格式(以时间:2007-11-02 13:45:25为例)

    类别

    格式

    说明

    Year

    yy

    two digits 两位年

    07

    yyy

    three digits 三位年

    007

    yyyy

    four digits 四位年

    2007

    Month

    mm

    number 两位月

    11

    mon

    abbreviated 字符集表示

    11月,若是英文版,显示nov

    month

    spelled out 字符集表示

    若是英文版,显示november

    Day:

    dd

    number当月第几天

    02

    ddd

    number当年第几天

    02

    dy

    abbreviated 当周第几天简写

    星期五,若是英文版,显示fri

    day  

    spelled out 当周第几天全写

    星期五,若是英文版,显示friday

    Hour:

    hh

    two digits 12小时进制

    01

    hh24

    two digits 24小时进制

    13

    Minute

    mi

    two digits 60进制

    45

    Second

    ss

    two digits 60进制

    25

    其他:

    Q

    digit季度

    4

    WW digit 当年第几周 44
    W digit 当月第几周 1

    TO_CHAR

    SELECT TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') AS NOWTIME FROM DUAL; --日期转化为字符串   
    SELECT TO_CHAR(SYSDATE, 'yyyy') AS NOWYEAR FROM DUAL;          --获取时间的年   
    SELECT TO_CHAR(SYSDATE, 'mm') AS NOWMONTH FROM DUAL;           --获取时间的月   
    SELECT TO_CHAR(SYSDATE, 'dd') AS NOWDAY FROM DUAL;             --获取时间的日   
    SELECT TO_CHAR(SYSDATE, 'hh24') AS NOWHOUR FROM DUAL;          --获取时间的时   
    SELECT TO_CHAR(SYSDATE, 'mi') AS NOWMINUTE FROM DUAL;          --获取时间的分   
    SELECT TO_CHAR(SYSDATE, 'ss') AS NOWSECOND FROM DUAL;          --获取时间的秒    
    SELECT TO_CHAR(SYSDATE, 'yyyy"年"mm"月"dd"日') AS T FROM DUAL; --带中文的时间格式

    MONTHS_BETWEEN(date1,date2)

    --计算两个日期之间的月份差
    select months_between('1-1月-2014', '31-12月-2014') from dual;
    结果:-11.9677419354839

    ADD_MONTHS(date,month)

    --月份的添加,2014-5-20后的3个月
    select add_months('20-5月-2014', 3) from dual;
    结果:2014/8/20
    
    --月份的添加,2014-5-20前的3个月
    select add_months('20-5月-2014', -3) from dual;
    结果:2014/2/20

    NEXT_DAY(date,week)

    --返回指定日期后的星期,返回今天后的下一个星期六是多少号
    select next_day(sysdate, '星期六') from dual;

    LAST_DAY

    --返回指定日期所在月的最后一天
    select last_day(sysdate) from dual;

    ROUND

    --按照指定格式对日期进行四舍五入
    select round(sysdate, 'year') from dual; --按照年
    select round(sysdate, 'month') from dual; --按照月
    select round(to_date('2014-11-16', 'yyyy-mm-dd'), 'day') from dual; --按照星期
    select round(to_date('2014-11-16', 'yyyy-mm-dd'), 'dd') from dual; --按照日期
  • 相关阅读:
    【FZYZOJ】数论课堂 题解(约数个数定理)
    【FZYZOJ】无向图的联通图个数 题解(组合数学)
    【BalticOI2003】Gem 题解(树形DP)
    中国剩余定理 学习笔记
    同余 学习笔记
    树形DP 学习笔记(树形DP、树的直径、树的重心)
    【USACO02FEB】Rebuilding Roads 重建道路 题解(树形DP)
    JavaSE 基础 第02节 搭建Java开发环境
    JavaSE 基础 第01节 Java语言介绍
    eclipse 调节字体大小
  • 原文地址:https://www.cnblogs.com/zhengcheng/p/4187011.html
Copyright © 2011-2022 走看看