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