oracle 时间日期常用语句及函数

记录常用时间函数以及处理时间的sql语句

(1)获得系统时间
select sysdate from dual;

(2)设置时间的格式
select to_char(sysdate,'yyyy/MM/dd') ,to_char(sysdate,'yyyy-MM-dd HH:mm:ss') from dual;

(3)两个时间比较相差的天,时,分···
select sysdate,ROUND(TO_NUMBER(sysdate - to_date('2017-2-20 15:35:34','yyyy-mm-dd hh24:mi:ss'))) days from dual;


两个Date类型字段:START_DATE,END_DATE,计算这两个日期的时间差(分别以天,小时,分钟,秒,毫秒):
天:
ROUND(TO_NUMBER(END_DATE - START_DATE))
小时:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)
分钟:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)
秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60)
毫秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 1000)

(4)获取当前日期中的年,月,日
select extract(year from sysdate) as "year" from dual;
select extract(month from sysdate) as "month" from dual;
select extract(day from sysdate) as "day" from dual;

(5)返回时区
select dbtimezone from dual;

(6)返回某个日期的下周的某一天
select next_day(to_date('20170222','YYYYMMDD'),2) from dual;
ps:1=星期天 2=星期一 3=星期二 4=星期三 5=星期四 6=星期五 7=星期六

(7)当前日期往后退多少个月
select sysdate, add_months(sysdate,2) from dual;

(8)本月最后一天
select last_day(sysdate) from dual;

(9)会话日期
select localtimestamp from dual;

posted @   huangenai  阅读(960)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示