카테고리:

날짜 및 시간 함수

DATE_PART

날짜, 시간 또는 타임스탬프에서 지정된 날짜 또는 시간 부분을 추출합니다.

대체:

EXTRACT , HOUR / MINUTE / SECOND , YEAR* / DAY* / WEEK* / MONTH / QUARTER

구문

DATE_PART( <date_or_time_part> , <date_or_timestamp_expr> )
Copy
DATE_PART( <date_or_time_part> FROM <date_or_time_expr> )
Copy

인자

date_or_time_part

시간 단위. 지원되는 날짜 및 시간 부분 에 나열된 값 중 하나여야 합니다(예: month). 값은 문자열 리터럴이거나 따옴표로 묶지 않을 수 있습니다(예: 'month' 또는 month).

  • date_or_time_partweek (또는 그 변형)인 경우, 출력은 WEEK_START 세션 매개 변수에 의해 제어됩니다.

  • date_or_time_partdayofweek 또는 yearofweek (또는 그 변형)인 경우, 출력은 WEEK_OF_YEAR_POLICYWEEK_START 세션 매개 변수에 의해 제어됩니다.

예를 포함한 자세한 내용은 달력상의 주 및 요일 섹션을 참조하십시오.

date_or_timestamp_expr

날짜, 시간 또는 타임스탬프이거나, 날짜, 시간 또는 타임스탬프로 평가할 수 있는 식이어야 합니다.

반환

NUMBER 데이터 타입의 값을 반환합니다.

사용법 노트

현재, date_or_timestamp_expr 이 DATE 값인 경우 다음 date_or_time_part 값은 지원되지 않습니다.

  • epoch_millisecond

  • epoch_microsecond

  • epoch_nanosecond

다른 날짜 및 시간 부분 (epoch_second 포함)이 지원됩니다.

이는 DATE 의 일부를 추출하는 간단한 예를 보여줍니다.

SELECT DATE_PART(quarter, '2024-04-08'::DATE);
Copy
+----------------------------------------+
| DATE_PART(QUARTER, '2024-04-08'::DATE) |
|----------------------------------------|
|                                      2 |
+----------------------------------------+

이는 TIMESTAMP 의 일부를 추출하는 예를 보여줍니다.

SELECT TO_TIMESTAMP(
  '2024-04-08T23:39:20.123-07:00') AS "TIME_STAMP1",
  DATE_PART(year, "TIME_STAMP1") AS "EXTRACTED YEAR";
Copy
+-------------------------+----------------+
| TIME_STAMP1             | EXTRACTED YEAR |
|-------------------------+----------------|
| 2024-04-08 23:39:20.123 |           2024 |
+-------------------------+----------------+

이는 TIMESTAMP를 Unix epoch (1970년 1월 1일 자정) 시작 이후 경과된 시간(초)으로 변환하는 예를 보여줍니다.

SELECT TO_TIMESTAMP(
  '2024-04-08T23:39:20.123-07:00') AS "TIME_STAMP1",
  DATE_PART(epoch_second, "TIME_STAMP1") AS "EXTRACTED EPOCH SECOND";
Copy
+-------------------------+------------------------+
| TIME_STAMP1             | EXTRACTED EPOCH SECOND |
|-------------------------+------------------------|
| 2024-04-08 23:39:20.123 |             1712619560 |
+-------------------------+------------------------+

이는 TIMESTAMP를 Unix epoch (1970년 1월 1일 자정) 시작 이후 경과된 시간(밀리초)으로 변환하는 예를 보여줍니다.

SELECT TO_TIMESTAMP(
  '2024-04-08T23:39:20.123-07:00') AS "TIME_STAMP1",
  DATE_PART(epoch_millisecond, "TIME_STAMP1") AS "EXTRACTED EPOCH MILLISECOND";
Copy
+-------------------------+-----------------------------+
| TIME_STAMP1             | EXTRACTED EPOCH MILLISECOND |
|-------------------------+-----------------------------|
| 2024-04-08 23:39:20.123 |               1712619560123 |
+-------------------------+-----------------------------+