oracle4

日期函数

如果要想操作日期函数实际上有一个首要的问题需要解决。那么必须要首先取得当前的系统日期时间,为此在 Oracle
里面提供有两个伪列(是不存在表中的列,但是却可以直接使用的列):SYSDATE、SYSTIMESTAMP。范例:取得当前的系统日期
SELECT SYSDATE FROM dual ;
SELECT SYSTIMESTAMP FROM dual ;
当有了系统日期之后就可以通过以下的三个公式来进行一些简单的计算:
·日期 + 数字 = 日期,表示若干天之后的日期;
·日期 – 数字 = 日期,表示若干天之前的日期;
·日期 – 日期 = 数字,表示两个日期之间的间隔天数。范例:计算若干天之后的日期
在这里插入图片描述

范例:计算若干天之前的日期
在这里插入图片描述
计算的时候是按照自然日的天数进行的计算,是不会去考虑那个月有 30 天,有 28 天之类的。
但是如果在一个很长的时间之内通过天数计算年是绝对不准确的。所以如果要想准确的计算出天数,那么前后的差距不要超过 30 天。
如果要想准确的进行日期时间的操作,那么就必须利用提供的日期函数。
计算两个日期之间所经历的月数:数字 MONTHS_BETWEEN(日期 1 | 列 1,日期 2 | 列 2) 范例:计算每一位雇员到今天为止雇佣的年数
·年数的计算最准确的一定是通过月完成的,一年 12 个月是不会被改变的。
SELECT ename,MONTHS_BETWEEN(SYSDATE,hiredate) , MONTHS_BETWEEN(SYSDATE,hiredate)/12
FROM emp ;
SELECT ename,MONTHS_BETWEEN(SYSDATE,hiredate) , TRUNC(MONTHS_BETWEEN(SYSDATE,hiredate)/12)
FROM emp ;
范例:查询出所有已经被雇佣了 33 年以上的雇员
在这里插入图片描述

  • List item
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值