반응형
GENERATE_SERIES이란?
- 일련의 값을 지정된 간격으로 생성해주는 함수입니다.
- 값 사이의 간격과 단계는 사용자가 정의할 수 있습니다.
구문
- start : tinyint, smallint, int, bigint, 10진 또는 숫자 형식의 변수, 리터럴 또는 스칼라 식으로 지정
- stop : tinyint, smallint, int, bigint, 10진 또는 숫자 형식의 변수, 리터럴 또는 스칼라 식으로 지정
- step : tinyint, smallint, int, bigint, 10진 또는 숫자 유형. step은 음수 또는 양수일 수 있지만 0(0)일 수는 없음
GENERATE_SERIES ( start , stop [ , step ] )
사용 예시
- 1부터 10 사이의 정수 값 반환
-- ex 1
SELECT value
FROM GENERATE_SERIES(1, 10);
-- ex 2
SELECT GENERATE_SERIES(1, 10) AS value
FROM DUAL;
- 2017년 1월 1일부터 2월 1일 사이의 1분 단위 모든 날짜 값 반환
SELECT TO_CHAR(GENERATE_SERIES('2017-01-01 00:00'::timestamp, '2017-02-01 00:00', '1 minutes'), 'yyyy-MM-dd HH24:MI') AS dt
FROM DUAL;
- 2017년 1월 1일부터 2월 1일 사이의 1일 단위 모든 날짜 값 반환
SELECT TO_CHAR(GENERATE_SERIES('2017-01-01 00:00'::timestamp, '2017-02-01 00:00', '1 days'), 'yyyy-MM-dd HH24:MI') AS dt
FROM DUAL;
- 2017년 1월 1일부터 2월 1일 사이의 1달 단위 모든 날짜 값 반환
SELECT TO_CHAR(GENERATE_SERIES('2017-01-01 00:00'::timestamp, '2017-02-01 00:00', '1 months'), 'yyyy-MM-dd HH24:MI') AS dt
FROM DUAL;
참고
GENERATE_SERIES(Transact-SQL) - SQL Server (https://learn.microsoft.com/ko-kr/sql/t-sql/functions/generate-series-transact-sql?view=sql-server-ver16)
반응형
'Develops > SQL' 카테고리의 다른 글
[ORCALE] DECODE 함수 (SQL로 IF ELSE 구문 사용하기) (0) | 2024.08.03 |
---|---|
[MySQL] 위도, 경도로 거리를 계산하기(하버사인 공식, SIN, COS, ACOS, RADIANS) (0) | 2024.07.21 |
[Tibero] AGGR_CONCAT 함수 (여러 행을 하나의 값으로 합치기) (0) | 2024.07.14 |
[Mybatis] Mybatis 파라미터 ${}(Literal)과 #{}(bind)의 차이점 (0) | 2024.03.30 |
[ORACLE] RANK, DENSE_RANK, ROW_NUMBER 함수 (중복여부, 생략여부) (0) | 2024.03.30 |