어쩌다보니 회사 업무 중 가짜 데이터를 만들 일이 생겼다.
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
'IT > SQL' 카테고리의 다른 글
SQLite Install (0) | 2022.12.09 |
---|---|
LocalDB 인스턴스를 시작하는 동안 오류가 발생했습니다. SQL Server 프로세스를 시작하지 못했습니다. (1) | 2022.12.08 |
MySQL Workbench) Could not acquire management access for administration (0) | 2022.11.30 |
MySql) Create table (0) | 2022.11.29 |