【oracle笔记】查询指定的时间

在一个指定的日期上加/减年月日进行查询,

select sysdate +/-  interval 'n' 日期单位 from dual;

interval告诉系统相隔的时间数,日期单位有YEAR, MONTH, DAY, HOUR, MINUTE, SECOND

如查询前一年的时间

select sysdate - interval '3' year from dual;



另外一种方法

select sysdate+/-n from dual;       -- 查询 默认n的单位为天,如果向查询之前的时间 n可以为负数

select add_months(sysdate,n) from dual;         -- n单位为月,若n为正小数则被截取为小于该数的最大整数,而负数则被截取为大于该数的最小整数

select add_months(sysdate,12*n) from dual;


例:add_months(to_date('29-Feb-96','d-mon-yyyy'),-12.99)   返回  28-Feb-95

注:上例中29调整为28,是因为96年二月份最后一天是29号,而95年二月份最后一天是28号。

 

add_months(to_date('15-Nov-1961','d-mon-yyyy'),1)  返回   15-Dec-1961

 

add_months(to_date('30-Nov-1961','d-mon-yyyy'),1)  返回   31-Dec-1961

注:从30调整为31,为了保持都是对应最后一天。

 

add_months(to_date('31-Jan-1999','d-mon-yyyy'),1)  返回   28-Feb-1999

注:函数将31日调为28日,以使结果对应新一月的最后一天,因1999年2月只有28天。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值