database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29915 게시물 읽기
No. 29915
날짜 테이블 생성!!
작성자
ㅇㅇ
작성일
2011-02-18 14:37:32ⓒ
2011-02-21 18:35:41ⓜ
조회수
9,241

안녕하세요

급질입니다만,

mysql에서

 

20090101 년도부터 202001231 까지의 10년치(?) 날짜데이터를 DB테이블에 쌓고 싶습니다.

예를 들어

 

20090101

20090102

......

20201230

20201231

 

이런식으로요~ 중간에 2월 윤년이 있으면 윤년계산도 해서요.

아무리 찾고 고민을 해봐도 모르겠네요ㅠ_ㅠ

정확히 어떻게 쿼리를 날려야하는지 알려주세요 부탁드립니다!!

이 글에 대한 댓글이 총 1건 있습니다.

create table t (n int);

 
insert into t values (1);
 
insert into t select * from t; -- 이걸 13번 반복하면 4096행이 생성됨. 10년치 데이터라면 대략 3650일이므로 이정도면 충분
 
create table date_t (d date, ds char(8)); -- 날짜를 저장할 테이블
 
insert into date_t
select d, date_format(d, '%Y%m%d') from (
  select @rnum:=@rnum+1 as rownum, date(adddate('2009-01-01', interval @rnum day)) as d
  from (select @rnum:=-1) r, t
  ) t
where year(d) < 2019;
 
참고로, 날짜는 date 타입에 저장하는 것이 yyyymmdd형식의 문자열로 저장하는 것보다 좋습니다.
xxx님이 2011-02-18 16:25:37에 작성한 댓글입니다.
이 댓글은 2011-02-18 16:29:42에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
29918[초보] DB검색 도와주세요. [1]
이성영
2011-02-21
4398
29917mysql 백업 하는데 엑세스가 거부되엇습니다.. [1]
이양욱
2011-02-21
6006
29916memcached 적용한 mysql서버 [1]
돌머리
2011-02-21
4930
29915날짜 테이블 생성!! [1]
ㅇㅇ
2011-02-18
9241
29914저장된 Table에 특정 칼럼 값만 추출하는 쿼리... ㅠ [1]
김혁진
2011-02-18
4490
29913count 쿼리 속도가 너무 차이가 나서요... [3]
이승예
2011-02-17
6792
29911left outer join 에 관한 질문입니다. [1]
하하
2011-02-16
5735
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2017 DSN, All rights reserved.
작업시간: 0.069초, 이곳 서비스는
	PostgreSQL v9.6.3으로 자료를 관리합니다