DB/MySql

[MYSQL] DB에 날짜데이터 넣기

밍글링글링 2018. 1. 30.
728x90

DB에 날짜데이터 넣기

첫번째 SQL쿼리문 4번째 줄의 d칼럼은 데이터형식, ds 칼럼은 char형식으로 두번째 SQL쿼리문에서 date_format(d, '%Y%m%d')를 추가하게되면 char형식으로도 insert할 수 있다.

 
* 첫번째 SQL쿼리문 insert문을 입력하면 할수록 넣을 수 있는 데이터 수가 증가한다.

 

create table t (n int);
insert into t values (1); 
insert into t select * from t; -- 이걸 13번 반복하면 4096행이 생성됨. 10년치 데이터라면 대략 3650일이므로 이정도면 충분 
create table CALENDAR(d date, ds char(8)); -- 날짜를 저장할 테이블

▲ 첫번째 SQL쿼리문


아래의 SQL문에서 adddate함수안에 있는 '2018-01-01'을 변경하여, 시작날짜를 정할 수 있고, 끝나는 날짜는 7번째 줄에서 2019대신 다른 년도를 입력하게 되면 그 해당년도 전일까지 insert된다.

insert into CALENDAR
select datefield
from (
  select @rnum:=@rnum+1 as rownum, date(adddate('2018-01-01', interval @rnum day)) as datefield
  from (select @rnum:=-1) r, t
  ) t
where year(datefield) < 2019;

▲ 두번째 SQL쿼리문

728x90

댓글