求一存储过程或函数
已知:
传入的字符串为:‘2009-01-01,2009-01-02,2009-12-13,2009-12-14,2009-12-5,2009-12-6,2009-12-7’
要求输出每个日期为当年的第几天天数:
例如:2009-01-01 为2009年的第1天,2009-01-02 为2009年的第2天。
。。
现在项目时间紧,急需各位高手们帮忙解决下!谢谢!
已知:
传入的字符串为:‘2009-01-01,2009-01-02,2009-12-13,2009-12-14,2009-12-5,2009-12-6,2009-12-7’
要求输出每个日期为当年的第几天天数:
例如:2009-01-01 为2009年的第1天,2009-01-02 为2009年的第2天。
。。
现在项目时间紧,急需各位高手们帮忙解决下!谢谢!
--年份默认2009年
create or replace procedure pro(str in varchar) is
a int;
str1 varchar2(20);
b int;
c date :=to_date('2009-01-01','yyyy-mm-dd');
begin
a :=length(str) +1;
for i in 0..(a/11-1) loop
str1:=SUBSTR(str,i*11+1,10);
b :=to_date(str1,'yyyy-mm-dd')-c +1;
dbms_output.put_line(str1 || '为20009年的第' || b ||'天');
end loop;
end pro;
2009-01-01为20009年的第1天
2009-01-02为20009年的第2天
2009-12-13为20009年的第347天
2009-12-14为20009年的第348天
2009-12-05为20009年的第339天
2009-12-06为20009年的第340天
2009-12-07为20009年的第341天
PL/SQL procedure successfully completed