分享方式:


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