PERIOD_RDIFF
PERIOD_RDIFF
PERIOD_RDIFF 함수는 두 번째 PERIOD가 끝난 뒤에 남는 첫 번째 PERIOD 부분을 반환하며, 그러한 나머지가 없으면 NULL을 반환해요.
출처: 문서
본문
문법 (Syntax)
PERIOD_RDIFF( <period1>, <period2> )
인자 (Arguments)
- period1 — 뺄셈의 대상이 되는 PERIOD 값이에요.
- period2 — period1의 왼쪽 부분을 잘라낼 수 있는 PERIOD 값이에요. 동일한 요소 타입이어야 해요.
반환 (Returns)
동일한 요소 타입의 PERIOD 값 또는 NULL이에요.
사용 메모 (Usage notes)
PERIOD_BEGIN(period1) < PERIOD_END(period2) < PERIOD_END(period1)일 때[PERIOD_END(period2), PERIOD_END(period1))을 반환해요.- 그 외의 경우 NULL을 반환해요 (예: 두 번째 주기가 첫 번째 주기 안에서 끝나지 않는 경우).
예제 (Examples)
이 예제는 두 번째 주기가 끝난 뒤의 첫 번째 주기 부분을 반환해요. 두 번째 주기가 첫 번째 주기 안에서 끝나지 않으면 함수는 NULL을 반환해요:
WITH periods AS (
SELECT
PERIOD(DATE) '[2024-01-01, 2024-07-01)' AS p_long,
PERIOD(DATE) '[2024-01-01, 2024-04-01)' AS p_left
)
SELECT
PERIOD_RDIFF(p_long, p_left) AS right_remainder,
PERIOD_RDIFF(p_left, p_long) AS no_remainder
FROM periods;
+--------------------------+--------------+
| RIGHT_REMAINDER | NO_REMAINDER |
|--------------------------+--------------|
| [2024-04-01, 2024-07-01) | NULL |
+--------------------------+--------------+