- 카테고리:
TIMESTAMP_FROM_PARTS¶
개별 숫자 구성 요소에서 타임스탬프를 만듭니다. 타임존이 적용되지 않는 경우, 함수를 사용하여 날짜 식 및 시간 식에서 타임스탬프를 만들 수 있습니다.
- 별칭:
TIMESTAMPFROMPARTS
- 변형(및 별칭):
TIMESTAMP_LTZ_FROM_PARTS , TIMESTAMPLTZFROMPARTS
TIMESTAMP_NTZ_FROM_PARTS , TIMESTAMPNTZFROMPARTS
TIMESTAMP_TZ_FROM_PARTS , TIMESTAMPTZFROMPARTS
구문¶
TIMESTAMP_FROM_PARTS( <year>, <month>, <day>, <hour>, <minute>, <second> [, <nanosecond> ] [, <time_zone> ] )
TIMESTAMP_FROM_PARTS( <date_expr>, <time_expr> )
TIMESTAMP_LTZ_FROM_PARTS( <year>, <month>, <day>, <hour>, <minute>, <second> [, <nanosecond>] )
TIMESTAMP_NTZ_FROM_PARTS( <year>, <month>, <day>, <hour>, <minute>, <second> [, <nanosecond>] )
TIMESTAMP_NTZ_FROM_PARTS( <date_expr>, <time_expr> )
TIMESTAMP_TZ_FROM_PARTS( <year>, <month>, <day>, <hour>, <minute>, <second> [, <nanosecond>] [, <time_zone>] )
참고
TIMESTAMP_FROM_PARTS의 날짜 및 시간 식 버전은 TIMESTAMP_TYPE_MAPPING 세션 매개 변수가 TIMESTAMP_NTZ로 설정된 경우에만 유효합니다.
인자¶
필수:
year
타임스탬프를 빌드하기 위해 연도로 사용할 정수 식입니다.
month
타임스탬프를 빌드하기 위해 월로 사용할 정수 식으로, 1월은
1
로, 12월은12
로 표시됩니다.day
타임스탬프를 빌드하기 위해 일로 사용할 정수 식으로, 일반적으로
1
-31
범위입니다.hour
타임스탬프를 빌드하기 위해 시간으로 사용할 정수 식으로, 일반적으로
0
-23
범위입니다.minute
타임스탬프를 빌드하기 위해 분으로 사용할 정수 식으로, 일반적으로
0
-59
범위입니다.second
타임스탬프를 빌드하기 위해 초로 사용할 정수 식으로, 일반적으로
0
-59
범위입니다.date_expr
,time_expr
타임스탬프를 빌드하는 데 사용할 날짜 및 시간 식을 지정하며, 여기서
date_expr
은 타임스탬프에 대한 연도, 월, 일을 제공하고time_expr
은 하루 내의 시, 분, 초, 나노초를 제공합니다. 다음에 대해서만 유효합니다.TIMESTAMP_FROM_PARTS(TIMESTAMP_TYPE_MAPPING 세션 매개 변수가 TIMESTAMP_NTZ로 설정된 경우)
TIMESTAMP_NTZ_FROM_PARTS
선택 사항:
nanoseconds
타임스탬프를 빌드하기 위해 나노초로 사용할 정수 식으로, 일반적으로
0
-999999999
범위입니다.time_zone
타임스탬프를 빌드하기 위한 타임존(예:
America/Los_Angeles
)로 사용할 문자열 식입니다. 다음에 대해서만 유효합니다.TIMESTAMP_FROM_PARTS(TIMESTAMP_TYPE_MAPPING 세션 매개 변수가 TIMESTAMP_TZ로 설정된 경우)
TIMESTAMP_TZ_FROM_PARTS
사용법 노트¶
일반적으로 TIMESTAMP_FROM_PARTS 변형은 “정상” 값 범위(예:
1
-12
월,1
-31
일, 0-0
-23
시간 등)의 값을 처리하는 데 사용됩니다. 그러나 이러한 범위 밖의 값도 처리할 수 있습니다. 이를 통해 1년의 N번째 날 또는 하루의 N번째 초를 선택할 수 있으며, 이는 일부 계산을 단순화하는 데 유용할 수 있습니다.TIMESTAMP_FROM_PARTS는 TIMESTAMP_TYPE_MAPPING 세션 매개 변수에 의해 지정된 변형과 동일합니다(기본값은 TIMESTAMP_NTZ).
예¶
출력 형식과 타임존을 제어하는 세션 변수를 설정합니다.
ALTER SESSION SET TIMESTAMP_OUTPUT_FORMAT='YYYY-MM-DD HH24:MI:SS.FF9 TZH:TZM'; ALTER SESSION SET TIMESTAMP_NTZ_OUTPUT_FORMAT='YYYY-MM-DD HH24:MI:SS.FF9 TZH:TZM'; ALTER SESSION SET TIMEZONE='America/New_York';
TIMESTAMP_LTZ_FROM_PARTS
를 사용합니다.
SELECT TIMESTAMP_LTZ_FROM_PARTS(2013, 4, 5, 12, 00, 00); +--------------------------------------------------+ | TIMESTAMP_LTZ_FROM_PARTS(2013, 4, 5, 12, 00, 00) | |--------------------------------------------------| | 2013-04-05 12:00:00.000000000 -0400 | +--------------------------------------------------+
TIMESTAMP_NTZ_FROM_PARTS
를 사용합니다.
select timestamp_ntz_from_parts(2013, 4, 5, 12, 00, 00, 987654321); +-------------------------------------------------------------+ | TIMESTAMP_NTZ_FROM_PARTS(2013, 4, 5, 12, 00, 00, 987654321) | |-------------------------------------------------------------| | 2013-04-05 12:00:00.987654321 | +-------------------------------------------------------------+
연도, 월, 일, 시 등이 아닌 날짜 및 시간과 함께 TIMESTAMP_NTZ_FROM_PARTS
를 사용합니다.
select timestamp_ntz_from_parts(to_date('2013-04-05'), to_time('12:00:00')); +----------------------------------------------------------------------+ | TIMESTAMP_NTZ_FROM_PARTS(TO_DATE('2013-04-05'), TO_TIME('12:00:00')) | |----------------------------------------------------------------------| | 2013-04-05 12:00:00.000000000 | +----------------------------------------------------------------------+
세션 기본 타임존(‘America/New_York’/-0400)와 함께 TIMESTAMP_TZ_FROM_PARTS
를 사용합니다.
select timestamp_tz_from_parts(2013, 4, 5, 12, 00, 00); +-------------------------------------------------+ | TIMESTAMP_TZ_FROM_PARTS(2013, 4, 5, 12, 00, 00) | |-------------------------------------------------| | 2013-04-05 12:00:00.000000000 -0400 | +-------------------------------------------------+
지정된 타임존(‘America/Los_Angeles’/-0700)와 함께 TIMESTAMP_TZ_FROM_PARTS
를 사용합니다. 나노초 인자로서 0을 사용하는 것에도 주목하십시오.
select timestamp_tz_from_parts(2013, 4, 5, 12, 00, 00, 0, 'America/Los_Angeles'); +---------------------------------------------------------------------------+ | TIMESTAMP_TZ_FROM_PARTS(2013, 4, 5, 12, 00, 00, 0, 'AMERICA/LOS_ANGELES') | |---------------------------------------------------------------------------| | 2013-04-05 12:00:00.000000000 -0700 | +---------------------------------------------------------------------------+
정상 범위를 벗어난 값을 처리합니다(-3600초를 지정하여 1시간 빼기).
select timestamp_from_parts(2013, 4, 5, 12, 0, -3600); +------------------------------------------------+ | TIMESTAMP_FROM_PARTS(2013, 4, 5, 12, 0, -3600) | |------------------------------------------------| | 2013-04-05 11:00:00.000000000 | +------------------------------------------------+