Oracle 日期操作

Posted 每天进步多一点

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 日期操作相关的知识,希望对你有一定的参考价值。

1.查询当前年、月、周相关时间

1.1.查询当前年份
SELECT TO_CHAR(SYSDATE,YYYY) AS YEAR FROM DUAL--查询当前年份
SELECT TO_CHAR(SYSDATE,YYY) AS YEAR FROM DUAL--查询当前年份后两位
SELECT TO_CHAR(SYSDATE,YY) AS YEAR FROM DUAL--查询当前年份最后两位
SELECT TO_CHAR(SYSDATE,Y) AS YEAR FROM DUAL--查询当前年份最后一位

1.2.查询当前年份第几天

SELECT TO_CHAR(SYSDATE,DDD) AS DAYS FROM DUAL

1.3.查询当前月份第几天

SELECT TO_CHAR(SYSDATE,DD) AS DAYS FROM DUAL

1.4.查询当前周的星期几

SELECT TO_CHAR(SYSDATE,dy) AS WEEK FROM DUAL
SELECT TO_CHAR(SYSDATE,day) AS WEEK FROM DUAL 

2.查询当前第几季度

SELECT TO_CHAR(SYSDATE,Q) AS JD FROM DUAL

3.查询当前在一年内是第几周

SELECT TO_CHAR(SYSDATE,IW) AS WEEKNUM FROM DUAL
SELECT TO_CHAR(SYSDATE,WW) AS WEEKNUM FROM DUAL
SELECT TO_CHAR(SYSDATE,W) AS WEEKNUM FROM DUAL

4.查询当前某年某月有多少天

SELECT TO_CHAR(last_day(to_date(2019/02/01,YYYY/MM/DD)),DD) AS MONTH_DAYS_NUMBER FROM DUAL

5.查询当前的日期格式

SELECT TO_CHAR(SYSDATE,YYYY/MM/DD) AS MONTH FROM DUAL--获取当前日期的YYYY/MM/DD格式:2020/01/02
SELECT TO_CHAR(SYSDATE,YYYYMMDD) AS MONTH FROM DUAL--获取当前日期的YYYYMMDD格式:20200102
SELECT TO_CHAR(SYSDATE,YYYYMMDD HH:MI:SS) AS now FROM DUAL--获取当前时间,精确到秒的12小时制格式:20200102 03:18:25
SELECT TO_CHAR(SYSDATE,YYYYMMDD HH24:MI:SS) AS now FROM DUAL--获取当前时间,精确到秒24小时制的格式:20200102 15:18:13
SELECT TO_CHAR(SYSDATE,YYYY/MM/DD HH24:MI:SS:PM:DY) AS now FROM DUAL--获取当前时间的格式,显示上、下午和星期几:2020/01/02 15:17:59:下午:星期四

6.查询距离当前时间一段时间间隔的时间,当前时间之前用“-”当前时间之后用“+”

SELECT TO_CHAR(SYSDATE, YYYY/MM/DD HH24:MI:SS) AS NOW,TO_CHAR(SYSDATE - INTERVAL 7 second,YYYY/MM/DD HH24:MI:SS) AS PAST FROM DUAL --查询当前时间的7秒前时间
SELECT TO_CHAR(SYSDATE, YYYY/MM/DD HH24:MI:SS) AS NOW,TO_CHAR(SYSDATE - INTERVAL 7 minute,YYYY/MM/DD HH24:MI:SS) AS PAST FROM DUAL --查询当前时间的7分钟前时间
SELECT TO_CHAR(SYSDATE, YYYY/MM/DD HH24:MI:SS) AS NOW,TO_CHAR(SYSDATE - INTERVAL 7hour ,YYYY/MM/DD HH24:MI:SS) AS PAST FROM DUAL --查询当前时间的7小时前时间
SELECT TO_CHAR(SYSDATE, YYYY/MM/DD HH24:MI:SS) AS NOW,TO_CHAR(SYSDATE - INTERVAL 7day ,YYYY/MM/DD HH24:MI:SS) AS PAST FROM DUAL --查询当前时间的7天前时间
SELECT TO_CHAR(SYSDATE, YYYY/MM/DD HH24:MI:SS) AS NOW,TO_CHAR(SYSDATE - INTERVAL 7month ,YYYY/MM/DD HH24:MI:SS) AS PAST FROM DUAL --查询当前时间的7月前时间
SELECT TO_CHAR(SYSDATE, YYYY/MM/DD HH24:MI:SS) AS NOW,TO_CHAR(SYSDATE - INTERVAL 7year ,YYYY/MM/DD HH24:MI:SS) AS PAST FROM DUAL --查询当前时间的7年前时间
SELECT TO_CHAR(SYSDATE, YYYY/MM/DD HH24:MI:SS) AS NOW,TO_CHAR(SYSDATE - 8*INTERVAL 7hour ,YYYY/MM/DD HH24:MI:SS) AS PAST FROM DUAL --查询当前时间参数年、月、日、时、分、秒乘以一个数字倍数之前的时间

以上是关于Oracle 日期操作的主要内容,如果未能解决你的问题,请参考以下文章

sql 日期转换代码片段 - Dato,120,konvertere

sql Oracle代码片段

学习笔记:python3,代码片段(2017)

如何在 Toad for Oracle 中使用自定义代码片段?

Oracle-常用数据库对象笔记(片段)

oracle中如何修改日期类型的字段值