1楼:匿名用户
oracle 可以写个函数
create or replace function sf_getymd
(pi_rq0000 in varchar2, --日期
pi_bs0000 in varchar2 --标示 0,1,2
)return varchar2
asls_return varchar2(8);
begin
if pi_rq0000 is null then
ls_return := to_char(sysdate,'yyyymmdd');
elsif pi_bs0000='0' then
ls_return := substr(pi_rq0000,1,6)||'01';
elsif pi_bs0000='1' then
ls_return := to_char(last_day(to_date(pi_rq0000,'yyyy-mm')),'yyyymmdd');
elsif pi_bs0000='2' then
ls_return := to_char(last_day(add_months(to_date(pi_rq0000,'yyyy-mm'),-1)),'yyyymmdd');
end if;
return ls_return;
end sf_getymd;