mariadb 1월 1일부터 12월 31일까지 뽑기 0 3 3,853

by 디비초보 [SQL Query] mariadb sql connectby [2018.01.17 15:05:28]


제목 그대로 mariadb로 1월 1일부터 12월 31일까지 뽑을수 있나요???

테이블은 따로 없고 dual에서 뽑았으면 합니다. 출력은 

day

18.01.01

18.01.02

18.01.03

18.01.04

.

.

.

.

이런식으로 뽑고 싶습니다. 오라클에서는 connect by를 이용했었는데 mariadb에는 그게 없어서요... 어떻게 하면 좋을까요???

by 우리집아찌 [2018.01.17 15:15:28]

 

mariadb 는 써본적이 없지만 행복제가 안되는경우

임의의 테이블에 1~1000(원하는만큼) 데이터를 넣어서 만들어 JOIN하여 쓰시던가

날짜 테이블을 만드시거나 하시면 될듯합니다.

 


by 카포 [2018.01.17 15:41:33]
시퀀스 엔진이 있나요? 있다면..

select  date_format(date_add('20180101', interval seq-1 day), '%y.%m.%d')
from seq_1_to_365;


시퀀스 엔진이 없다면...
select date_format(date_add('20180101', interval seq-1 day), '%y.%m.%d') as dt
from (select @num := @num + 1 as seq
      from information_schema.tables a
         , information_schema.tables b
         , (select @num := 0) c
      limit 365
     ) t
;

 


by 마농 [2018.01.18 07:36:53]
-- 윤년 처리 --
SELECT DATE_FORMAT(DATE_ADD('20180101', INTERVAL seq-1 DAY), '%y.%m.%d')
  FROM seq_1_to_366
 WHERE DATE_FORMAT(DATE_ADD('20180101', INTERVAL seq-1 DAY), '%Y') = '2018'
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입