make_timestamp 기능

적용 대상:확인 표시됨 Databricks SQL 확인 표시됨 Databricks Runtime

year, month, day, hour, min, sec 및 timezone 필드에서 타임스탬프를 만듭니다.

구문

make_timestamp(year, month, day, hour, min, sec [, timezone] )

make_timestamp(date [, time [, timezone]] )

Important

time 이 논자는 베타 상태인 데이터 타입을 TIME 사용합니다.

주장

  • year: INTEGER 1부터 99999까지의 값으로 평가하는 식입니다.
  • month: INTEGER 1(1월)부터 12(12월)까지의 값으로 평가하는 식입니다.
  • day: INTEGER 1에서 31까지의 값으로 평가하는 식입니다.
  • hour: INTEGER 0에서 23 사이의 값으로 평가되는 식입니다.
  • min: INTEGER 0에서 59 사이의 값으로 평가되는 식입니다.
  • sec: 0에서 60 사이의 값으로 계산되는 정수 식입니다.
  • date: DATE 연도, 월, 일의 필드를 제공하는 식입니다.
  • time: 시간, 분, 초 필드를 제공하는 선택적 TIME 표현식입니다. 기본값은 00:00:00 생략된 경우로 설정됩니다.
  • timezone: 유효한 시간대를 평가하는 선택적 STRING 표현식으로, 예: CETUTC또는 .

반품

TIMESTAMP.

인수가 경계를 넘으면 함수가 DATETIME_FIELD_OUT_OF_BOUNDS을 끌어올립니다. try_make_timestamp 대신 반환 NULL 하세요.

만약 sec 가 이라 60면, 함수는 이를 로 0 해석하고 결과에 1분을 더합니다.

sec 소수 자릿수 값을 마이크로초 정밀도로 나타낼 수 없는 경우 Azure Databricks INVALID_FRACTION_OF_SECOND 발생합니다.

일반적인 오류 조건

예제

> SELECT make_timestamp(2014, 12, 28, 6, 30, 45.887);
 2014-12-28 06:30:45.887
> SELECT make_timestamp(2014, 12, 28, 6, 30, 45.887, 'CET');
 2014-12-27 21:30:45.887
> SELECT make_timestamp(2019, 6, 30, 23, 59, 60);
 2019-07-01 00:00:00
> SELECT make_timestamp(NULL, 7, 22, 15, 30, 0);
 NULL

> SELECT make_timestamp(DATE'2014-12-28', TIME'06:30:45.887');
 2014-12-28 06:30:45.887

> SELECT make_timestamp(DATE'2014-12-28', TIME'06:30:45.887', 'CET');
 2014-12-27 21:30:45.887

> SELECT make_timestamp(DATE'2014-12-28');
 2014-12-28 00:00:00

> SELECT make_timestamp(2024, 13, 1, 0, 0, 0);
  Error: DATETIME_FIELD_OUT_OF_BOUNDS