关闭

oracle学习(六)--时间日期函数

427人阅读 评论(0) 收藏 举报
分类:

oracle学习(六)--时间日期函数

--返回当前时间
SELECT SYSDATE from dual;-->2016-06-02 08:40:28

--月份加1
SELECT "ADD_MONTHS"(SYSDATE, 1) from dual;-->2016-07-02 08:40:15
SELECT "ADD_MONTHS"("TO_DATE"('2016-6-2', 'YYYY-MM-DD'), 3) FROM DUAL;-->2016-09-02 00:00:00

--返回最后一天
SELECT "LAST_DAY"(SYSDATE) from dual;-->2016-06-30 08:40:08

--日期月份差
SELECT "CEIL"("MONTHS_BETWEEN"(SYSDATE, "TO_DATE"('2016-9-01', 'YYYY-MM-DD'))) FROM dual;-->-2
SELECT "CEIL"("MONTHS_BETWEEN"("TO_DATE"('2016-9-01', 'YYYY-MM-DD'), SYSDATE)) FROM dual;-->3

--返回特定日期后一周的日期
SELECT "NEXT_DAY"("TO_DATE"('2016-06-02', 'YYYY-MM-DD'), 1) from dual;-->2016-06-05 00:00:00
SELECT "NEXT_DAY"("TO_DATE"('2016-06-02', 'YYYY-MM-DD'), 2) from dual;-->2016-06-06 00:00:00
SELECT "NEXT_DAY"("TO_DATE"('2016-06-02', 'YYYY-MM-DD'), 3) from dual;-->2016-06-07 00:00:00
SELECT "NEXT_DAY"("TO_DATE"('2016-06-02', 'YYYY-MM-DD'), 4) from dual;-->2016-06-08 00:00:00
SELECT "NEXT_DAY"("TO_DATE"('2016-06-02', 'YYYY-MM-DD'), 5) from dual;-->2016-06-09 00:00:00
SELECT "NEXT_DAY"("TO_DATE"('2016-06-02', 'YYYY-MM-DD'), 6) from dual;-->2016-06-03 00:00:00
SELECT "NEXT_DAY"("TO_DATE"('2016-06-02', 'YYYY-MM-DD'), 7) from dual;-->2016-06-04 00:00:00

--截取时间
SELECT "TRUNC"("TO_DATE"('2016-6-2 09:03:46', 'YYYY-MM_DD HH24:MI:SS'), 'YYYY') from dual;-->2016-01-01 00:00:00
SELECT "TRUNC"("TO_DATE"('2016-6-2 09:03:46', 'YYYY-MM_DD HH24:MI:SS'), 'MM') from dual;-->2016-06-01 00:00:00
SELECT "TRUNC"("TO_DATE"('2016-6-2 09:03:46', 'YYYY-MM_DD HH24:MI:SS'), 'DD') from dual;-->2016-06-02 00:00:00
SELECT "TRUNC"("TO_DATE"('2016-6-2 09:03:46', 'YYYY-MM_DD HH24:MI:SS'), 'HH24') from dual;-->2016-06-02 09:03:00
SELECT "TRUNC"("TO_DATE"('2016-6-2 09:03:46', 'YYYY-MM_DD HH24:MI:SS'), 'MI') from dual;-->2016-06-02 09:03:00
SELECT "TO_DATE"('2016-6-2 09:03:46', 'YYYY-MM_DD HH24:MI:SS') from dual;-->2016-06-02 09:03:46

--返回时区
SELECT SESSIONTIMEZONE,"TO_CHAR"(CURRENT_DATE,'yyyy-mm-dd hh24:mi:ss') from dual;-->+08:00   2016-06-02 09:12:19
SELECT SESSIONTIMEZONE,CURRENT_TIMESTAMP FROM dual;-->+08:00  2016-06-02 09:13:39:461000 +08:00

--获取年月日
SELECT EXTRACT(year FROM SYSDATE) from dual;-->2016
SELECT EXTRACT(month FROM SYSDATE) from dual;-->6
SELECT EXTRACT(day FROM SYSDATE) from dual;-->2

--获取小时、分钟、秒-->注意时间是0时区的时间
SELECT EXTRACT(hour FROM SYSTIMESTAMP) + 8 FROM dual;-->9
SELECT EXTRACT(minute FROM SYSTIMESTAMP) FROM dual;-->23
SELECT EXTRACT(second FROM SYSTIMESTAMP) FROM dual;--7.1870


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:312637次
    • 积分:7547
    • 等级:
    • 排名:第2963名
    • 原创:442篇
    • 转载:12篇
    • 译文:7篇
    • 评论:36条
    文章分类
    最新评论