TIME 형식

적용 대상:yes Databricks SQL 확인 표시 예 Databricks Runtime 18.3 이상으로 표시

Important

이 기능은 베타 버전으로 제공됩니다. 작업 영역 관리자는 미리 보기 페이지에서 이 기능에 대한 액세스를 제어할 수 있습니다. Azure Databricks 미리 보기 관리를 참조하세요.

표준 시간대가 없는 시간, 분 및 초 필드 값으로 구성된 하루 중 시간을 나타냅니다.

Syntax

TIME | TIME(p)

p: 초 필드의 소수 자릿수를 지정하는 선택적 정밀도입니다. 유효한 값은 0부터 6까지입니다. 생략하면 p 기본 전체 자릿수는 (마이크로초)입니다 6 .

Limits

지원되는 시간 값의 범위는 .입니다 00:00:00.00000023:59:59.999999.

Literals

TIME timeString

timeString
{ '[h]h:[m]m' |
  '[h]h:[m]m:[s]s' |
  '[h]h:[m]m:[s]s.[f...]' |
  '[h]h:[m]m AM|PM' |
  '[h]h:[m]m:[s]s AM|PM' |
  '[h]h:[m]m:[s]s.[f...] AM|PM' }
  • [h]h: 1~ 0023 2자리(24시간 형식) 또는 사이 01 ( 12 12시간 형식 AM/PM)입니다.
  • [m]m: 1~2자리 분 사이 00 입니다 59.
  • [s]s: 1~2자리 초 사이 00 입니다 59.
  • [f...]: 최대 6자리 소수 초까지만 표시됩니다.
  • AM 또는 PM: 12시간 클록 값을 나타내는 선택적 대/소문자를 구분하지 않는 접미사입니다.

TIME 접두사는 대/소문자를 구분하지 않습니다.

두 번째 구성 요소를 지정하지 않으면 기본값은 .입니다 0.

리터럴이 적절한 시간을 나타내지 않으면 Azure Databricks 오류가 발생합니다.

전체 자릿수 규칙

전체 자릿수가 서로 다른 두 TIME 값(예: COALESCE, CASE, UNION 또는 산술)을 결합하면 결과는 두 정밀도의 더 넓은 값을 사용합니다.

예를 들어 가장 일반적인 형식 TIME(3) 은 .입니다 TIME(6)TIME(6).

값을 낮은 정밀도로 캐스팅 TIME 하면 소수 자릿수 초는 반올림되지 않고 잘립니다.

> SELECT CAST(TIME'12:30:45.987654' AS TIME(3));
  12:30:45.987

일별 간격 TIME을 추가하거나 빼면 결과는 더 넓은 TIME 전체 자릿수와 간격의 소수 자릿수 초 정밀도를 사용합니다. 예를 들어 TIME(0) + INTERVAL '1.123456' SECONDTIME(6)을 반환합니다. 결과가 [00:00:00, 24:00:00) 벗어나면 Azure Databricks DATETIME_OVERFLOW 발생합니다.

Notes

값에 대한 TIME 모든 작업은 표준 시간대를 고려하지 않고 수행됩니다.

Delta Lake 테이블의 열을 사용 TIME 하려면 형식 열이 있는 새 Delta 테이블을 TIME 만들 때 지원이 자동으로 활성화됩니다. 기존 테이블에 열을 추가 TIME 하려면 먼저 이 기능을 사용하도록 설정해야 합니다.

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

형식 TIME 에는 다음과 같은 제한 사항이 있습니다.

  • 생성된 열에서는 지원되지 않습니다.
  • 블룸 필터 인덱스에 대해서는 지원되지 않습니다.
  • Z 순서 지정은 지원되지 않습니다.

예제

> SELECT TIME'10:30:00';
  10:30:00

> SELECT TIME'08:15';
  08:15:00

> SELECT TIME'23:59:59.123456';
  23:59:59.123456

> SELECT CAST('14:30:00' AS TIME);
  14:30:00

> SELECT CAST('09:15:30.5' AS TIME(3));
  09:15:30.500

> SELECT current_time();
  16:57:04.304361

> SELECT make_time(6, 30, 45.887);
  06:30:45.887000