QUARTER_CEIL
설명
DATE, DATETIME, TIMESTAMP_NS 또는 TIMESTAMPTZ 값을 지정된 분기 주기의 가장 가까운 경계로 올림합니다. 기준 시각을 지정하면 해당 시각을 기준으로 주기를 계산합니다.
구문
QUARTER_CEIL(<datetime>)
QUARTER_CEIL(<datetime>, <origin>)
QUARTER_CEIL(<datetime>, <period>)
QUARTER_CEIL(<datetime>, <period>, <origin>)
매개변수
| 매개변수 | 설명 |
|---|---|
<datetime> | 올림할 값입니다. DATE, DATETIME, TIMESTAMP_NS, TIMESTAMPTZ를 지원합니다. |
<period> | 분기 주기 값입니다. 타입은 INT이며, 각 주기에 포함되는 분기 수를 나타냅니다. |
<origin> | 주기의 시작점입니다. DATE, DATETIME, TIMESTAMP_NS, TIMESTAMPTZ를 지원하며, 기본값은 0001-01-01 00:00:00입니다. |
참고:
- period를 지정하지 않으면 1 분기를 주기로 사용하는 것과 같습니다.
- period가 양의 정수가 아니면 함수 결과는 NULL입니다.
- 결과는 항상 미래 시점으로 올림됩니다.
- 반환 값의 시간 부분은 항상 00:00:00입니다.
반환 값
TIMESTAMP_NS 입력은 소수점 이하 아홉 자리의 초 정밀도로 고정된 TIMESTAMP_NS를 반환합니다. 결과가 반환 타입의 범위 내에 있는지 검증하며, TIMESTAMP_NS의 범위는 [1677-09-21 00:12:43.145224192, 2262-04-11 23:47:16.854775807]입니다.
<origin>을 생략한 TIMESTAMP_NS 입력에서는 문서에 명시된 기본 기준 시각을 내부 정렬 기준으로만 사용합니다. 이 시각은 저장 가능한 TIMESTAMP_NS 범위 내에 있지 않아도 됩니다.
<datetime>이 DATE 타입이면 반환 타입은 DATE입니다.
<datetime>이 DATETIME 타입이면 반환 타입은 DATETIME입니다.
<datetime>이 TIMESTAMP_NS 타입이면 반환 타입은 소수점 이하 아홉 자리의 초 정밀도를 갖는 TIMESTAMP_NS입니다.
<datetime>이 TIMESTAMPTZ 타입이면 반환 타입은 TIMESTAMPTZ입니다.
올림한 날짜 및 시간 값을 나타냅니다. 결과의 시간 부분은 00:00:00으로 설정됩니다.
예제
'0001-01-01 00:00:00'부터 시작하여 주기를 각각 5 / 4 분기로 설정하고, 입력 날짜에서 가장 가까운 다음 주기의 시작점을 반환합니다.
SELECT QUARTER_CEIL("2023-07-13 22:28:18", 5), QUARTER_CEIL("2023-07-13 22:28:18", 4);
+----------------------------------------+----------------------------------------+
| QUARTER_CEIL("2023-07-13 22:28:18", 5) | QUARTER_CEIL("2023-07-13 22:28:18", 4) |
+----------------------------------------+----------------------------------------+
| 2024-10-01 00:00:00.000000 | 2024-01-01 00:00:00.000000 |
+----------------------------------------+----------------------------------------+
'2022-01-01 00:00:00'을 주기의 시작점으로 사용하여 주기를 각각 2 / 4 분기로 설정하고, 입력 날짜에서 가장 가까운 다음 주기의 시작점을 반환합니다.
SELECT QUARTER_CEIL("2023-03-13 22:28:18", 2, "2022-01-01 00:00:00"), QUARTER_CEIL("2023-07-13 22:28:18", 4, "2022-01-01 00:00:00");
+---------------------------------------------------------------+---------------------------------------------------------------+
| QUARTER_CEIL("2023-03-13 22:28:18", 2, "2022-01-01 00:00:00") | QUARTER_CEIL("2023-07-13 22:28:18", 4, "2022-01-01 00:00:00") |
+---------------------------------------------------------------+---------------------------------------------------------------+
| 2023-07-01 00:00:00 | 2024-01-01 00:00:00 |
+---------------------------------------------------------------+---------------------------------------------------------------+
모범 사례
date_ceil도 참고하세요.