oracle获取日期之间、月份之间、季度、年的天数
获取两个日期之间天数
select to_date(‘2008-09-02’,‘yyyy-mm-dd’)-to_date(‘2008-09-01’,‘yyyy-mm-dd’)+1 from dual
获取两个月份之间天数
select last_day(to_date(‘2012-03’,‘yyyy-mm’))-to_date(‘2012-01’,‘yyyy-mm’)+1 from dual
根据是否是闰年来获取天数 整百的被400整除是闰年 非整百的被4整除是闰年 否则是平年 (如1800不是闰年 2012是闰年)
得到季度共有多少天
select case when ‘1’ = 1 and (mod(‘2014’,100)=0 and mod(‘2014’,400)=0) || (mod(‘2014’,100)<>0 and mod(‘2014’,4)=0) then 91 when ‘1’ = 1 and mod(‘2014’,4)<>0 then 90
when ‘2’=2 then 91 else 92 end from dual
得到每年有多少天
select case when (mod(‘2014’,100)=0 and mod(‘2014’,400)=0) || (mod(‘2014’,100)<>0 and mod(‘2014’,4)=0) then 366 else 365 end from dual
本文详细介绍在Oracle数据库中如何计算两个日期之间的天数、两个月份之间的天数,以及根据年份判断闰年和平年,进而计算季度和全年的天数。通过具体SQL语句示例,帮助读者掌握日期和时间的精确计算。
1万+

被折叠的 条评论
为什么被折叠?



