Share via


LEGACY_TIME_PARSER_POLICY

適用於:check marked yes Databricks SQL

LEGACY_TIME_PARSER_POLICY 態參數會控制日期和時間戳的剖析和格式設定,以及處理 1582 年 10 月 15 日之前的日期。

Databricks SQL 會使用 Datetime 模式定義的格式設定,將 datetime 字串對應至 datetime 值。 一旦建立日期時間值,就必須根據行事曆進行驗證。

您可以使用 SET 語句,以及在全域層級使用 SQL 組態參數或 SQL 倉儲 API,在會話層級設定此參數。

設定

支援三種設定:

  • LEGACY

    當 時 LEGACY,會接受超過指定模式的字串值中設定多餘的欄位。 使用的行事曆是 混合式朱利安和公曆

  • CORRECTED

    當 為 時 CORRECTED,字串值必須與格式字串完全相符。 使用的行事曆是 可睡的公曆。

  • EXCEPTION

    當 時EXCEPTION,每當 和 CORRECTED 的結果LEGACY不同時,Databricks SQL 就會引發錯誤。

系統預設

此參數的系統預設值為 EXCEPTION

範例

> SET legacy_time_parser_policy = legacy;
> SELECT to_timestamp('2021-01-01 12:34:56', 'yyyy-MM-dd');
  2021-01-01 00:00:00

> SET legacy_time_parser_policy = corrected;
> SELECT to_timestamp('2021-01-01 12:34:56', 'yyyy-MM-dd');
  Text '2021-01-01 12:34:56' could not be parsed, unparsed text found at index 10