博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
日期函数
阅读量:5165 次
发布时间:2019-06-13

本文共 2141 字,大约阅读时间需要 7 分钟。

--********************日期函数

--获取当前系统时间

SELECT SYSDATE FROM dual;

获取的是当前系统的时间

--查询距离今天3天后,和3天前的日期

SELECT SYSDATE 今天,SYSDATE-3 三天前,SYSDATE+3 三天后 FROM dual;

--查询出每个员工入职到今天的入职天数,以及十天前每个员工的入职天数

SELECT e.hiredate 入职日期,SYSDATE 今天,SYSDATE-e.hiredate 入职到今天的天数,SYSDATE-10-e.hiredate 十天前的入职天数FROM emp e;

--使用trunc截取天数

SELECT e.hiredate 入职日期,SYSDATE 今天,trunc(SYSDATE-e.hiredate) 入职到今天的天数,trunc(SYSDATE-10-e.hiredate) 十天前的入职天数FROM emp e;

--MONTHS_BETWEEN(日期1,日期2)求出2个日期之间的月数
--ADD_MONTHS(日期,数字) 求出在指定日期上加或者减指定的月数,数字,可以为正也可以为负
--NEXT_DAY(日期,星期几)求出下个星期的具体日期
--LAST_DAY(日期 )指定日期的最后一天的日期
--EXTRACT(格式 FROM 日期)将日期分豁,或者计算2个日期的间隔

--ADD_MONTHS(日期,数字)

SELECT SYSDATE 当前日期,add_months(SYSDATE,3) 三个月之后的日期,add_months(SYSDATE,-3) 三个月之前的日期,add_months(SYSDATE,60) 六十个月之后的日期FROM dual;

--查询所有员工在入职3个月后的日期

SELECT e.empno,e.ename,e.hiredate,add_months(e.hiredate,3)入职三个月的日期FROM emp e;

--NEXT_DAY(日期,星期几)

SELECT SYSDATE 当前日期,next_day(SYSDATE,'星期五') 下个星期五,next_day(SYSDATE,'星期一') 下个星期一FROM dual;

--LAST_DAY()一个月的最后一天日期

SELECT SYSDATE,last_day(SYSDATE) FROM dual;

获取当前月的最后一天日期

--查询所有在入职日期在当月最后第三天入职的员工,最后一天-2

SELECT e.empno,e.ename,e.hiredateFROM emp eWHERE e.hiredate=last_day(e.hiredate)-2;

--MONTHS_BETWEEN
--查询每个员工的编号,姓名,入职日期,入职的月数和年份
--月数MONTHS_BETWEEN(SYSDATE,hiredate)年数MONTHS_BETWEEN(SYSDATE,hiredate)/12

SELECT e.empno,e.ename,e.hiredate,trunc(months_between(SYSDATE,e.hiredate)) 入职的月数,trunc(months_between(SYSDATE,e.hiredate)/12) 入职的年数FROM emp e;

--查询每个员工的编号,姓名,入职日期,已经入职的年份,月份和天数
--总月数,和12求模就是月数
--日用当前日期-(入职日期+月数)

SELECT e.empno,e.ename,e.hiredate,TRUNC(months_between(SYSDATE,e.hiredate)/12) 年,TRUNC(MOD(months_between(SYSDATE,e.hiredate),12)) 月,TRUNC(SYSDATE-add_months(e.hiredate,months_between(SYSDATE,e.hiredate))) 日FROM emp e;

--extract函数

SELECT SYSDATE,EXTRACT(YEAR FROM SYSDATE)年,EXTRACT(MONTH FROM SYSDATE) 月,EXTRACT(DAY FROM SYSDATE) 日FROM dual;

--从时间戳中取出年,月,日,时,分,秒

SELECT SYSTIMESTAMP,EXTRACT(YEAR FROM SYSTIMESTAMP)年,EXTRACT(MONTH FROM SYSTIMESTAMP) 月,EXTRACT(DAY FROM SYSTIMESTAMP) 日,EXTRACT(HOUR FROM SYSTIMESTAMP) 时,EXTRACT(MINUTE FROM SYSTIMESTAMP) 分,EXTRACT(SECOND FROM SYSTIMESTAMP) 秒FROM dual;

 

转载于:https://www.cnblogs.com/Soprano/p/10658791.html

你可能感兴趣的文章
BZOJ 3747 洛谷 3582 [POI2015]Kinoman
查看>>
vue实战(7):完整开发登录页面(一)
查看>>
Visual Studio自定义模板(二)
查看>>
【Mood-20】滴滤咖啡做法 IT工程师加班必备 更健康的coffee 项目经理加班密鉴
查看>>
读《构建之法-软件工程》第四章有感
查看>>
使用 Printf via SWO/SWV 输出调试信息
查看>>
.net 分布式架构之分布式锁实现(转)
查看>>
吴恩达机器学习笔记 —— 3 线性回归回顾
查看>>
Problem E: Automatic Editing
查看>>
SpringBoot 使用 MyBatis 分页插件 PageHelper 进行分页查询
查看>>
《DSP using MATLAB》Problem 6.17
查看>>
微信公众平台开发实战Java版之如何网页授权获取用户基本信息
查看>>
一周TDD小结
查看>>
sizeof与strlen的用法
查看>>
Linux 下常见目录及其功能
查看>>
开源框架中常用的php函数
查看>>
nginx 的提升多个小文件访问的性能模块
查看>>
set&map
查看>>
集合类总结
查看>>
4.AE中的缩放,书签
查看>>