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
'DB > MySql' 카테고리의 다른 글
[MYSQL] 엑셀파일 DB에 로드시키기 (insert) (0) | 2018.08.02 |
---|---|
[mysql] 다중 Insert SQL 쿼리문 (0) | 2018.08.01 |
[mysql] MYSQL CREATE FUNCTION 에러 (0) | 2018.06.08 |
[mysql] DB서버 MYSQL 대소문자 구분 (0) | 2018.06.08 |
[Mysql] 특별한 값이 없으면 INSERT 있으면 UPDATE (ORACLE - MERGE INTO) (0) | 2017.08.24 |
댓글