LEGACY_TIME_PARSER_POLICY

適用対象:check marked yes Databricks SQL

LEGACY_TIME_PARSER_POLICY 構成パラメーターによって、日付とタイムスタンプの解析と書式設定に加え、1582 年 10 月 15 日より前の日付の処理が制御されます。

Databricks SQL では、「datetime パターン」で定義されている書式を使用して、datetime 文字列を datetime 値にマップします。 datetime 値が確立されたら、カレンダーに照らし合わせて検証する必要があります。

このパラメーターは、SET ステートメントを使用してセッション レベルで、また、SQL 構成パラメーターSQL ウェアハウス API を使用してグローバル レベルで設定できます。

設定

次の 3 つの設定をサポートしています。

  • LEGACY

    LEGACY が設定されている場合、指定したパターンを超える文字列値の余分なフィールドが受け入れられます。 使用されるカレンダーは、ユリウス暦とグレゴリオ暦を合わせた暦です。

  • CORRECTED

    CORRECTED の場合、文字列値は、書式指定文字列と完全に一致する必要があります。 使用されるカレンダーは、先発グレゴリオ暦です。

  • EXCEPTION

    EXCEPTION の場合、Databricks SQL では、LEGACYCORRECTED の結果が相違する場合にエラーが発生します。

システムの既定

このパラメーターのシステムの既定値は 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