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         |
+--------------------------+--------------+

더 알아보기 (Learn more)