適用対象:
Databricks SQL
Databricks Runtime
セッションのローカル タイム ゾーンを使用して、年、月、日、時、分、秒のフィールドの値を構成する値を表します。 タイムスタンプ値は、絶対的な特定の時点を表します。
構文
TIMESTAMP | TIMESTAMP_LTZ
制限
サポートされているタイムスタンプの範囲は -290308-12-21 BCE 19:59:06 GMT から +294247-01-10 CE 04:00:54 GMT です。
リテラル
TIMESTAMP timestampString
TIMESTAMP_LTZ 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][zoneId]' }
-
+または-: 省略可能な記号。-は BCE を示し、+は CE (既定値) を示します。 -
yyyy: 少なくとも 4 桁の数字で構成される年。 -
[m]m: 01 から 12 までの月を表す 1 桁または 2 桁の数字。 -
[d]d: 01 から 31 までの日を表す 1 桁または 2 桁の数字。 -
h[h]: 00 から 23 までの時間を表す 1 桁または 2 桁の数字。 -
m[m]: 00 から 59 までの分を表す 1 桁または 2 桁の数字。 -
s[s]: 00 から 59 までの秒を表す 1 桁または 2 桁の数字。 -
[ms][ms][ms][us][us][us]: 秒の小数部の最大 6 桁の数字。
zoneId:
- Z - 協定世界時ゾーン UTC+0
- +|-[h]h:[m]m
- プレフィックス (UTC+、UTC-、GMT+、GMT-、UT+ または UT-) の 1 つを持つ ID と、次の形式のサフィックス。
- +|-h[h]
- +|-hh[:]mm
- +|-hh:mm:ss
- +|-hhmmss
-
<area>/<city>という形式の地域ベースのゾーン ID。たとえばEurope/Paris。
月または日のコンポーネントが指定されていない場合、既定値は 1 です。
時間、分、または秒のコンポーネントが指定されていない場合、既定値は 0 です。
zoneId が指定されていない場合は、既定でセッション タイム ゾーンになります。
リテラルが適切なタイムスタンプを表していない場合、Azure Databricks ではエラーが発生します。
メモ
ローカル タイムゾーンのタイムスタンプは内部的に正規化され、UTC で保持されます。 値またはその一部が抽出されるたびに、ローカル セッションタイムゾーンが適用されます。
例示
> SELECT TIMESTAMP'0000';
0000-01-01 00:00:00
> SELECT TIMESTAMP'2020-12-31';
2020-12-31 00:00:00
> SELECT TIMESTAMP'2021-7-1T8:43:28.123456';
2021-07-01 08:43:28.123456
> SELECT current_timezone(), TIMESTAMP'2021-7-1T8:43:28UTC+3';
America/Los_Angeles 2021-06-30 22:43:28
> SELECT CAST('1908-03-15 10:1:17' AS TIMESTAMP)
1908-03-15 10:01:17
> SELECT TIMESTAMP'+10000';
+10000-01-01 00:00:00