mysql 쿼리문으로 데이터의 날짜가 아닌 현재달의 날짜 목록을 모두 뽑아오고 싶어서
검색을 해봤는데 조금 복잡하긴 하지만 이 쿼리가 딱 내가 원하는 형태의 데이터를 추출해준다
select a.Date as dtDate from
(select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY as Date from
(select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a cross join
(select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b cross join
(select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c) a
where a.Date between '2017-07-01' and LAST_DAY('2017-07-01') order by dtDate asc
출처: http://dyang34.tistory.com/entry/Mysql-전체-날짜-리스트-출력 [신문과 프로그래머.]
원래 출처에서는 order by 구문이 없어서 추가!
'Programming > DB' 카테고리의 다른 글
[mysql] db안의 모든 테이블을 drop table 할때 (0) | 2017.02.03 |
---|---|
[MySql] 테이블을 JOIN 후, 필드값 UPDATE 하기 (0) | 2014.02.13 |
[Mysql] rollup과 join 사용연습하기! (0) | 2014.01.10 |