求一存储过程或函数
已知:
传入的字符串为:‘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天。
。。
现在项目时间紧,急需各位高手们帮忙解决下!谢谢!
解决方案 »
- 新手简单问题
- clob与varchar2问题
- 关于基于oracle数据开发的应用系统,中的操作员之间的通讯问题。请高手指点思路!谢谢!
- 怎么取出数据库中为数组的值???说不清楚,具体看内容吧~~~~~~~~~~~~~~~~~
- Oracle异常处理
- [SQL]Date数据怎么在SQL语句中写?(Error ORA-01861 文字与格式字符串不匹配)
- (200分)在jsp中,调用怎样的oracle的sql语句实现快速分页?是top还是rownum?最好给个例子????????????
- Windows 2000 下的 Oracle 8.05 怎样以SYSDBA登录?
- 怎么提高ORACLE.EXE进程的内存使用值?
- ☆☆建表问题,列名为什么不能这样取?
- 求Microsoft JET Database Engine 错误 '80004005'解决方案
- 警報日志的顯示問題
--年份默认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