请问在ORACLE的存储过程中的一个一年中天数循环一遍改怎么写呢?
就是从1月1日开始到12月31日循环一遍(假设每月都是31天)
就是从1月1日开始到12月31日循环一遍(假设每月都是31天)
解决方案 »
- 插入数据时报空间不足
- fedora系统,用root或oracle能成功登录oralce,普通用户就不行
- 求助oracle应付账款忘记关闭帐套的问题
- oracle左连接统计问题
- 求oracle9i安装资源
- 各位大侠,请问如何将SQLSERVER的IMAGE类型的数据。导入到ORACLE的BLOB类型的数据(紧急)
- 存储过程中用变量做表名怎么办?求解
- 关于oracle下IF条件语句块的问题
- 初来此地,问个问题作为见面礼,多多关照:)
- 请问有什么oracle书籍适合一个初学者学习?
- 請問做好的ORACLE數據庫是用EXPORT/IMPORT方式發布好,還是用RUN SQL的方式比較好?
- 求一个最优的sql语句
testdate date;
begin
testdate := to_date('2004-01-01','yyyy-mm-dd')
while(to_char(testdate ,'yyyy')<'2005')
loop
testdate := testdate + 1;
.
.
.
end loop;
end
没必要吧,去实际的就行
SQL> create or replace procedure p_year(str_year varchar) as
2 dt date;
3 begin
4 dt:=to_date(str_year||'-01-01','yyyy-mm-dd');
5 loop
6 exit when to_char(dt,'yyyy')<>str_year;
7 dbms_output.put_line(to_char(dt,'yyyy-mm-dd'));
8 dt:=dt+1;
9 end loop;
10 end p_year;
11 /过程已创建。已用时间: 00: 00: 01.72
SQL> set serveroutput on
SQL> exec p_year('2005');
2005-01-01
2005-01-02
2005-01-03
2005-01-04
2005-01-05
2005-01-06
2005-01-07
2005-01-08
2005-01-09
2005-01-10
2005-01-11
2005-01-12
2005-01-13