MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 数据库 / 正文

数据库中常用的日期函数

2024-11-26 21:10 huorong 数据库 13 ℃ 0 评论

学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序员来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函数及示例,一是为了和大家分享,二是可以在以后工作中忘记了随时查阅。

1. SYSDATE
用来得到系统的当前日期

SELECT SYSDATE FROM DUAL;

2.ADD_MONTHS
增加或减去月份

SELECT TO_CHAR(ADD_MONTHS(TO_DATE('20220918','YYYYMMDD'),2), 'YYYY-MM-DD') FROM DUAL;
SELECT TO_CHAR(ADD_MONTHS(SYSDATE, -1), 'YYYY-MM-DD') FROM DUAL;

3.LAST_DAY
返回日期的最后一天

SELECT LAST_DAY(SYSDATE) FROM DUAL;
SELECT LAST_DAY(ADD_MONTHS(SYSDATE, -2)) FROM DUAL;

4.MONTHS_BETWEEN(date2,date1)
给出date2-date1的月份

--参数的格式需要注意
SELECT MONTHS_BETWEEN(TO_DATE('2022-09-18', 'YYYY-MM-DD'), TO_DATE('2022-01-18', 'YYYY-MM-DD')) FROM DUAL;
SELECT MONTHS_BETWEEN('18-9月-2022','18-3月-2022') mon_between FROM DUAL;


5.
NEW_TIME(date,'this','that')
给出在this时区=other时区的日期和时间

SELECT TO_CHAR(SYSDATE, 'YYYY.MM.DD HH24:MI:SS') BeiJing_Time,
  TO_CHAR(NEW_TIME(SYSDATE, 'PDT', 'GMT'), 'YYYY.MM.DD HH24:MI:SS') LOS_ANGELS 
FROM DUAL;

6.NEXT_DAY
返回与指定日期在同一个星期或之后一个星期内的,你所要求的星期天数的确切日期。

--星期日 = 1 星期一 = 2 星期二 = 3 星期三 = 4 星期四 = 5 星期五 = 6 星期六 = 7 
SELECT NEXT_DAY(SYSDATE, 2) FROM DUAL;

7.CURRENT_DATE
当前会话时区中的当前日期

SELECT CURRENT_DATE FROM DUAL;

8.EXTRACT
找出日期或间隔值的字段值

SELECT EXTRACT(MONTH FROM SYSDATE) "MONTH" FROM DUAL;
SELECT EXTRACT(DAY FROM SYSDATE) AS "DAY" FROM DUAL;
SELECT EXTRACT(YEAR FROM SYSDATE) AS "YEAR" FROM DUAL;

9.TRUNC(date,[,fmt])

为指定元素而截去的日期值

8.EXTRACT 
找出日期或间隔值的字段值 

Tags:oracle 星期

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言