본문 바로가기
IT/SQL

MySQL) 30분 간격 데이터 만들기

by 2T1 2022. 11. 29.

어쩌다보니 회사 업무 중 가짜 데이터를 만들 일이 생겼다. 

30분 단위로 스케쥴을 만들어야하는건데 검색하다가 WITH RECURSIVE 를 사용해서 쉽게 만드는 법을 찾았다!

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
drop table if exists `test`.`tb_vst_time`;
create table `test`.`tb_vst_time`(
    VST_DTM VARCHAR(6)
);
 
insert into  `test`.`tb_vst_time` (VST_DTM)
WITH RECURSIVE A AS
(
    SELECT STR_TO_DATE('202107080900''%Y%m%d%H%i') AS YMDHM
    UNION ALL
    SELECT DATE_ADD(A.YMDHM, INTERVAL 30 MINUTE) AS YMDHM FROM A
    WHERE A.YMDHM < STR_TO_DATE('202107081800''%Y%m%d%H%i')
)
SELECT DATE_FORMAT(YMDHM, '%H%i%s') AS YMDHM FROM A
cs

 

 

Oracle 의 LEVEL 이라는 함수와 비슷하다고 하는 거 같은데

오라클은 사용해본 적이 없어서.. 

 

블로그 주소를 함께 남긴다! 

 

 

[MySQL] 1분 간격 시간 더미데이터 만들기 (Oracle LEVEL 같은)

제목을 뭐라고 써야 좋을까 😂 ​ 날짜의 시간별 데이터를 가져와 그리드를 만들때 시간컬럼이 필요한데 이 시간컬럼의 데이터를 만드는 방법이다 ​ 원래 Oracle을 주로 사용했어서 LEVEL 같은

earth-ing.tistory.com