데이타가 시작일이 2009-03-05 이고 종료일이 2009-04-10 인 경우
SELECT 문을 사용해서
저장된 데이타가
번호 시작일 종료일
No_01 2009-03-05 2009-03-07
No_02 2009-03-10 2009-03-12
No_03 2009-03-06 2009-03-06
No_04 2009-03-06 2009-03-07
일때 결과가
No_01 2009-03-05
No_01 2009-03-06
No_01 2009-03-07
No_02 2009-03-10
No_02 2009-03-11
No_02 2009-03-12
No_03 2009-03-06
No_04 2009-03-06
No_05 2009-03-07
이런식으로 가능한가요?
버젼은 5.0 입니다.
오늘 하루종일 머리를 굴려도 해결방법이 없네요..
부탁드립니다.
* PROCEDURE 를 처음 사용하려고 하는데 아래처럼 여기저기 찾아서 만들었는데 에러가 많이 나네요
어디부분이 잘못된건지 알려주세요.
DROP TABLE IF EXISTS mytable;
create table mytable(Auto_No int AUTO_INCREMENT, Si_Ymd varchar(8), End_Ymd varchar(8), Input_Ymd varchar(8), PRIMARY KEY (Auto_No));
create table rettable(Auto_No int AUTO_INCREMENT, input_Ymd varchar(8), PRIMARY KEY (Auto_No));
INSERT INTO mytable(si_ymd,end_ymd) values ('20090302','20090304'),('20090304','20090306'),('20090320','20090410');
select * from mytable;
DELIMITER //
drop procedure if exists inc_date;
create procedure inc_date(in si_ymd, in end_ymd, out input_ymd)
begin
set @s_ymd = si_ymd;
set @e_ymd = end_ymd;
while (@s_ymd <= @e_ymd) do
set @c_ymd = Date_Add(@s_Ymd,interval 1 day);
insert into rettable (input_ymd) values (@c_ymd);
@s_ymd = @c_ymd;
end while;
end;
//
delimiter; |