用SQL计算天数

这篇博客展示了如何使用SQL来计算天数。通过设置变量并利用sysdate获取当前日期,然后逐月处理,根据月份特点(闰年2月的天数)累加天数,最后加上当前日期的日数,得到总天数。这种方法可以用于处理日期相关的计算任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

set serveroutput on ;  
declare
d date;
y number;
m number;
da number;
two number;
result number;
begin
result:=0;
select sysdate into d from dual;
y:=to_number(substr(to_char(d,'dd-mm-yyyy'),7,4));
m:=to_number(substr(to_char(d,'dd-mm-yyyy'),4,2));
da:=substr(to_char(d,'dd-mm-yyyy'),1,2);
if(y mod 4=0) then
two:=29;
else
two:=28;
end if;
for i in 1..m loop
case i
     when 1  then result:=result+31;
     when 2  then result:=result+two;
     when 3  then result:=result+31;
     when 4  then result:=result+30;
     when 5  then result:=result+31;
     when 6  then result:=result+30;
     when 7  then result:=result+31;
     when 8  then result:=result+31;
     when 9  then result:=result+30;
     when 10  then result:=result+31;
     when 11  then result:=result+30;
     when 12  then result:=result+30;
  end case;
end loop;
result:=result+da;
dbms_output.put_line('运行结果是:'||result);
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值