PERIOD_CONSTRUCT

PERIOD_CONSTRUCT

PERIOD_CONSTRUCT 함수는 동일한 시간 요소(temporal element) 타입의 시작 경계와 끝 경계로부터 PERIOD 값을 생성해요.

출처: 문서

본문

문법 (Syntax)

PERIOD_CONSTRUCT( <begin>, <end> )

인자 (Arguments)

  • begin — 포함하는 시작 경계예요. DATE, TIME, TIMESTAMP_NTZ, TIMESTAMP_LTZ 또는 TIMESTAMP_TZ 값이어야 해요.
  • end — 배타적인 끝 경계예요. begin과 동일한 논리 타입이어야 해요.

반환 (Returns)

요소 타입이 입력 경계의 타입과 일치하는 PERIOD 값을 반환해요. TIME 및 TIMESTAMP 입력의 경우 결과의 스케일(scale)은 입력 스케일 중 최댓값이에요.

사용 메모 (Usage notes)

  • begin과 end 인자는 시간 값(DATE, TIME 또는 TIMESTAMP)이어야 해요. VARCHAR 인자는 암시적으로 변환되지 않고 오류를 발생시키므로, 문자열을 명시적으로 캐스팅해야 해요. 예를 들어 DATE '2024-01-01' 또는 '2024-01-01'::DATE처럼요.
  • begin이 end보다 크거나 같으면 Snowflake가 오류를 발생시켜요.
  • 두 인자 중 하나라도 NULL이면 함수는 NULL을 반환해요.
  • 두 경계 표현식 대신 문자열로 PERIOD 값을 만들려면 타입이 지정된 리터럴 구문(typed literal)을 사용하세요. 예를 들어 PERIOD(DATE) '[2024-01-01, 2024-12-31)'처럼요. 자세한 내용은 Typed literal을 참조하세요.

예제 (Examples)

이 예제는 두 개의 DATE 경계로 PERIOD(DATE) 값을 생성해요. NULL 경계는 NULL 결과를 만들기 때문에 두 번째 열은 NULL을 반환해요:

SELECT
    PERIOD_CONSTRUCT(DATE '2024-01-01', DATE '2024-12-31') AS date_period,
    PERIOD_CONSTRUCT(CAST(NULL AS DATE), DATE '2024-12-31') AS null_input;
+--------------------------+------------+
| DATE_PERIOD              | NULL_INPUT |
|--------------------------+------------|
| [2024-01-01, 2024-12-31) | NULL       |
+--------------------------+------------+

더 알아보기 (Learn more)