Compartilhar via


LEGACY_TIME_PARSER_POLICY

Aplica-se a: marca de seleção positiva SQL do Databricks

O parâmetro de configuração LEGACY_TIME_PARSER_POLICY controla a análise e a formatação de datas e carimbos de data/hora, bem como a manipulação de datas anteriores a 15 de outubro de 1582.

O Databricks SQL usa a formatação definida em Padrões de datetime para mapear cadeias de caracteres de datetime para valores datetime. Depois que um valor datetime é estabelecido, ele deve ser conferido em um calendário.

Você define esse parâmetro no nível da sessão com a instrução SET e no nível global com os parâmetros de configuração SQL ou a API de SQL Warehouse.

Configurações

Há suporte para três configurações:

  • LEGACY

    Quando LEGACY for definido, serão aceitos campos desnecessários nos valores de cadeia de caracteres que excedem o padrão especificado. O calendário usado será o calendário Juliano e Gregoriano híbridos.

  • CORRECTED

    Quando for CORRECTED, o valor da cadeia de caracteres deve ser uma correspondência exata com a cadeia de caracteres de formato. O calendário usado será o calendário gregoriano proléptico.

  • EXCEPTION

    Quando for EXCEPTION, o SQL do Databricks gera um erro sempre que o resultado de LEGACY e CORRECTED forem diferentes.

Padrão do sistema

O padrão do sistema para esse parâmetro é EXCEPTION.

Exemplos

> 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