PERIOD_LDIFF

PERIOD_LDIFF

PERIOD_LDIFF는 두 번째 PERIOD가 시작하기 전에 있는 첫 번째 PERIOD의 부분을 반환하거나, 그러한 나머지가 없으면 NULL을 반환하는 기간(period) 함수예요.

출처: Snowflake SQL Reference

본문

카테고리: 기간 함수

구문 (Syntax)

PERIOD_LDIFF( <period1>, <period2> )

인자 (Arguments)

<period1> — 빼는 대상 PERIOD 값이에요.

<period2> — period1의 오른쪽을 자를 수 있는 PERIOD 값이에요. 같은 요소 타입이어야 해요.

반환값 (Returns)

같은 요소 타입의 PERIOD 값, 또는 NULL이에요.

사용 시 유의사항 (Usage notes)

  • PERIOD_BEGIN(period1) < PERIOD_BEGIN(period2) < PERIOD_END(period1)일 때 [PERIOD_BEGIN(period1), PERIOD_BEGIN(period2))를 반환해요.
  • 그렇지 않으면(예: 두 번째 기간이 첫 번째 안에서 시작하지 않을 때) NULL을 반환해요.

예시 (Examples)

이 예시는 두 번째 기간이 시작하기 전의 첫 번째 기간 부분을 반환해요. 두 번째 기간이 첫 번째 안에서 시작하지 않으면 함수는 NULL을 반환해요:

WITH periods AS (
  SELECT
    PERIOD(DATE) '[2024-01-01, 2024-07-01)' AS p_long,
    PERIOD(DATE) '[2024-04-01, 2024-10-01)' AS p_mid,
    PERIOD(DATE) '[2024-04-01, 2024-07-01)' AS p_right
)
SELECT
    PERIOD_LDIFF(p_long, p_mid) AS left_remainder,
    PERIOD_LDIFF(p_right, p_long) AS no_remainder
  FROM periods;
+--------------------------+--------------+
| LEFT_REMAINDER           | NO_REMAINDER |
|--------------------------+--------------|
| [2024-01-01, 2024-04-01) | NULL         |
+--------------------------+--------------+

더 알아보기