LEGACY_TIME_PARSER_POLICY
适用于:Databricks SQL
LEGACY_TIME_PARSER_POLICY
配置参数控制日期和时间戳的解析和格式设置,以及对 1582 年 10 月 15 日之前日期的处理。
Databricks SQL 使用日期/时间模式中定义的格式将日期/时间字符串映射到日期/时间值。 建立日期/时间值后,必须对照日历对其进行验证。
可使用 SET 语句在会话级别设置此参数,使用 SQL 配置参数或 SQL 仓库 API 在全局级别设置此参数。
设置
支持三种设置:
LEGACY
设置为
LEGACY
时,将接受超出指定模式的字符串值中的无关字段。 使用的日历是儒略历和公历的混合历法。CORRECTED
设置为
CORRECTED
时,字符串值必须与格式字符串完全匹配。 所用的日历是前公历。EXCEPTION
设置为
EXCEPTION
时,只要LEGACY
和CORRECTED
的结果不同,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