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:1から99999までの値を評価する INTEGER 式。
  • month:1(1月)から12(12月)までの値を評価する INTEGER 式。
  • day: 1から31までの値に評価される INTEGER 式。
  • hour: 0から23の間の値に評価される INTEGER 式。
  • min:0から59の値を評価する INTEGER 式。
  • sec: 0 から 60 までの値に評価される数値式。
  • date:年、月、日の場を提供する DATE 式です。
  • time:時間、分、秒のフィールドを提供するオプションの TIME 式です。 省略した場合、既定値は 00:00:00 になります。
  • timezone:有効なタイムゾーン(例えばCETやUTC)に評価するオプションの STRING 式。

戻り値

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