반응형
특정 구간의 날짜 더미데이터가 필요한 경우 CTE를 사용하여 다음과 같이 만들 수 있습니다.
DECLARE @start_time datetime = '20230401 00:00:00' --첫 날짜
DECLARE @end_time datetime = '20230401 23:00:00'; --마지막 날짜
DECLARE @time_diff int = 1; --설정할 시간 간격
WITH cte AS (
SELECT 0 AS n
UNION ALL
SELECT n + @time_diff
FROM cte
WHERE n < DATEDIFF(HOUR, @start_time, @end_time) -- HOUR 대신 다른 시간 단위 설정가능
)
SELECT DATEADD(HOUR, n, @start_time) FROM cte
OPTION (MAXRECURSION 0) --최대 재귀 횟수 제한해제
위 쿼리를 실행하면 다음과 같이 출력됩니다.
'RDB > MSSQL' 카테고리의 다른 글
[MSSQL] ODBC 연결 설정 (0) | 2023.07.03 |
---|---|
[MSSQL] 프로시저 검색 쿼리 (0) | 2023.05.31 |
[MSSQL] 인덱스 조각화/리빌드 (0) | 2023.05.02 |
[MSSQL] 사용하지 않는 인덱스 확인하기 (0) | 2023.04.24 |
[MSSQL] 데이터베이스 용량 조회 쿼리 (0) | 2023.04.07 |