求:判断当天是否为当月最后一天 的 oracle存储过程

求:判断当天是否为当月最后一天 的 oracle存储过程,第1张

--创建存储过程

create or replace procedure IsLastDay

(

flag out char

)

as

d1 date;

d2 date;

begin

if (to_char(sysdate, 'mmdd') = to_char(last_day(sysdate))) then

flag := 'T';

else

flag := 'F';

end if;

end;

--调用存储过程

declare

flag char;

begin

IslastDay(flag);

if (flag = 'T') then

dbms_outputput_line(sysdate || ' 是本月最后一天');

else

dbms_outputput_line(sysdate || ' 不是本月最后一天');

end if;

end;

select ename,job,hiredate,last_day(hiredate) from emp

where

sysdate-hiredate<365

and

to_char(last_day(hiredate),'yyyy')='1982';

oracle中最简单获取日期的方式是通过查询sysdate来获取。

语句如下:

select sysdate from dual;

结果:

如果只获取日期部分:

select to_char(sysdate,'yyyy-mm-dd') from dual;

结果:

题主是否想询问“oracle怎样保留月底数据其他删除”?oracle是指数据,

1、首先将自己希望保留的这个月的数据导出到一个临时表中。

2、其次然后将2500万数据整个删除,接着然后将整个表删除。

3、最后将数据从临时表全部导回来即可。

你不是写出来了么?

to_date( to_char(sysdate,'YYYY-MM')|| '-01','YYYY-MM-DD')取得月初

add_months(to_date( to_char(sysdate,'YYYY-MM')|| '-01','YYYY-MM-DD') ,1) 取得下月初

具体 where 子句如下

oper_date >= to_date( to_char(sysdate,'YYYY-MM')|| '-01','YYYY-MM-DD')

and oper_date< add_months(to_date( to_char(sysdate,'YYYY-MM')|| '-01','YYYY-MM-DD') ,1)

select

Trunc(sysdate+1),

to_date(to_char(add_months(sysdate,1),'yyyymm'),'yyyymm')

from dual

以上就是关于求:判断当天是否为当月最后一天 的 oracle存储过程全部的内容,包括:求:判断当天是否为当月最后一天 的 oracle存储过程、oracle 查询入职不满一年的员工在月底的最后一天需要加班。、oracle 获取日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10211553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存