PLSQL 日期函数

这篇博客详细介绍了Oracle数据库中的PL/SQL日期函数,包括sysdate获取当前日期、add_months进行日期加减月、months_between计算日期间隔、next_day找到下一个特定星期几以及last_day获取月份最后一天等,并提供了相关示例。
摘要由CSDN通过智能技术生成

日期函数
1.sysdate        当前系统时间
日期加减数字=日期加减天数
日期-日期=相差的天数

2.add_months(日期,数)         日期加减月数
数会自动截断取整

select add_months(sysdate,1),
       add_months(sysdate,-1),
       add_months(sysdate,12),
       add_months(sysdate,1.9)
from dual

--查询三个月前距今多少天
select sysdate-add_months(sysdate,-3)
from dual


--查询三个月后是几月
select to_char(add_months(sysdate,3),'mm')
from dual

--查询一年后的今天是星期几
select to_char(add_months(sysdate,12),'dy')
from dual


3.months_between(日期1,日期2)     日期之间相差的月数
在oracle中默认一个月有31天
1天=1/31月

select months_between(date'2021-7-1',date'2021-5-1') A,
       months_between(date'2021-5-1',date'2021-7-1') B,
       months_between(date'2021-7-15',date'2021-5-1') C,
       months_between(sysdate,date'2021-5-1') D
from dual

--查询2008-8-8距今几个月,四舍五入保留两位小数
select round(months_between(sysdate,date'2008-8-8'),2)
from dual

--查询2012-12-21距今多少年,四舍五入保留两位小数
select round(months_between(sysdate,date'2012-12-21')/12,2)
from dual


--查询2008-8-8距今几年零几个月零几天  

--小数*31得天
select trunc(months_between(sysdate, date '2008-8-8') / 12) || '年' ||
       trunc(months_between(sysdate, date '2008-8-8') -
             (trunc(months_between(sysdate, date '2008-8-8') / 12) * 12)) || '月' ||
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值