適用対象:
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