TIMESTAMP
類型
適用於:Databricks SQL Databricks Runtime
表示包含欄位 year、month、day、hour、minute 和 second 的值以及會話本地時區的數據。 時間戳記值代表絕對的時間點。
語法
TIMESTAMP
限制
支援的時間戳記範圍是 -290308-12-21 BCE 19:59:06 GMT
至 +294247-01-10 CE 04:00:54 GMT
。
常值
TIMESTAMP 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
:至少包含四位數的年份。 -
[m]m
:介於 01 到 12 之間的一或兩位數月份。 -
[d]d
:介於 01 到 31 之間的一或兩位數日期。 -
h[h]
:介於 00 到 23 之間的一或兩位數小時。 -
m[m]
:介於 00 到 59 之間的一或兩位數分鐘。 -
s[s]
:介於 00 到 59 之間的一或兩位數秒數。 -
[ms][ms][ms][us][us][us]
:最多 6 位數的小數秒。
zoneId
:
- Z - Zulu 時區 UTC+0
- +|-[h]h:[m]m
- 具有其中一個前置詞的標識碼 UTC+、UTC-、GMT+、GMT-、UT+ 或 UT-,以及格式的後綴:
- +|-h[h]
- +|-hh[:]mm
- +|-hh:mm:ss
- +|-hhmmss
- 以區域為基礎的區域識別碼,
<area>/<city>
格式為 ,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