TIMESTAMP_NTZ 형식

적용 대상:검사 '예'로 표시 Databricks SQL 검사 '예'로 표시 Databricks Runtime 13.3 LTS 이상

연도, 월, 일, 시간, 분 및 초 필드 값으로 구성된 값을 나타냅니다. 모든 작업은 표준 시간대를 고려하지 않고 수행됩니다.

이 기능은 공개 미리 보기 상태입니다. 지원되지 않는 기능은 노트 섹션을 참조하세요.

Delta Lake에서 이 기능을 사용하려면 테이블에 대한 지원을 사용하도록 설정해야 합니다. 유형 열 TIMESTAMP_NTZ 이 있는 새 델타 테이블을 만들 때 기능 지원이 자동으로 사용하도록 설정됩니다. 기존 테이블에 형식 열을 TIMESTAMP_NTZ 추가할 때 자동으로 사용하도록 설정되지 않습니다. 열에 대한 TIMESTAMP_NTZ 지원을 사용하도록 설정하려면 기존 테이블에 대해 기능에 대한 지원을 명시적으로 사용하도록 설정해야 합니다.

지원을 사용하도록 설정하면 테이블 프로토콜이 업그레이드됩니다. Azure Databricks에서 Delta Lake 기능 호환성을 관리하는 방법을 참조 하세요. 다음 명령을 사용하면 이 기능을 사용할 수 있습니다.

ALTER TABLE table_name SET TBLPROPERTIES ('delta.feature.timestampNtz' = 'supported')

구문

TIMESTAMP_NTZ

제한

지원되는 타임스탬프 범위는 -290308-12-21 BCE 19:59:06~+294247-01-10 CE 04:00:54입니다.

리터럴

TIMESTAMP_NTZ timestampString

timestampString
{ '[+|-]yyyy[...]' |
  '[+|-]yyyy[...]-[m]m' |
  '[+|-]yyyy[...]-[m]m-[d]d' |
  '[+|-]yyyy[...]-[m]m-[d]d ' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h[:]' |
  '[+|-]yyyy[..]-[m]m-[d]d[T][h]h:[m]m[:]' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h:[m]m:[s]s[.]' |
  '[+|-]yyyy[...]-[m]m-[d]d[T][h]h:[m]m:[s]s.[ms][ms][ms][us][us][us]' }
  • + 또는 -: 선택적 기호입니다. -은(는) BCE를 나타내며 +은(는) CE(기본값)를 나타냅니다.
  • yyyy: 최소 4자리 숫자로 구성된 연도입니다.
  • [m]m: 01과 12 사이의 한 자리 또는 두 자리 월입니다.
  • [d]d: 01에서 31 사이의 한 자리 또는 두 자리 날짜입니다.
  • h[h]: 00에서 23 사이의 한 자리 또는 두 자리 시간입니다.
  • m[m]: 00에서 59 사이의 한 자리 또는 두 자리 분입니다.
  • s[s]: 00에서 59 사이의 한 자리 또는 두 자리 초입니다.
  • [ms][ms][ms][us][us][us]: 최대 6자리의 소수 자릿수 초입니다.

월 또는 일 구성 요소가 지정되지 않은 경우 기본값은 1입니다. 시, 분 또는 초 구성 요소를 지정하지 않으면 기본값은 0입니다.

리터럴이 적절한 타임스탬프를 나타내지 않으면 Azure Databricks에서 오류가 발생합니다.

주의

  • 현재 TIMESTAMP_NTZ 형식은 다음에서 아직 지원되지 않습니다.
    • 광자
    • 델타 공유
    • Power BI, Tableau, Databricks JDBC/ODBC 드라이버 또는 Databricks 오픈 소스 드라이버에 사용되는 Databricks 데이터 원본입니다.
  • TIMESTAMP_NTZ 형식은 Delta/Parquet/ORC/AVRO/JSON/CSV를 비롯한 파일 원본에서 지원됩니다. 그러나 TIMESTAMP_NTZ 열이 있는 JSON/CSV 파일에 대한 스키마 유추에는 제한이 있습니다. 이전 버전과의 호환성을 위해 기본 유추 타임스탬프 형식 spark.read.csv(...) 은 TIMESTAMP_NTZ 대신 TIMESTAMP 형식이 spark.read.json(...) 됩니다.

예제

> SELECT TIMESTAMP_NTZ'0000';
  0000-01-01 00:00:00

> SELECT TIMESTAMP_NTZ'2020-12-31';
  2020-12-31 00:00:00

> SELECT TIMESTAMP_NTZ'2021-7-1T8:43:28.123456';
  2021-07-01 08:43:28.123456

> SELECT current_timezone(), CAST(TIMESTAMP '2021-7-1T8:43:28' as TIMESTAMP_NTZ);
  America/Los_Angeles 2021-07-01 08:43:28

> SELECT CAST('1908-03-15 10:1:17' AS TIMESTAMP_NTZ)
  1908-03-15 10:01:17

> SELECT TIMESTAMP_NTZ'+10000';
  +10000-01-01 00:00:00