BASE DE DADOS DE CONHECIMENTO

Erro: "ORA-01861: literal does not match format string" ao usar a função DATE() no Oracle


Publicado: 23 Jan 2017
Data da última modificação: 24 Aug 2022

Problemas

Ao usar a função DATE() em um campo calculado com uma fonte de dados do Oracle, pode ocorrer o erro a seguir:

ORA-01861: literal does not match format string (ORA-01861: o literal não corresponde à cadeia de caracteres de formato)

Ambiente

  • Tableau Desktop
  • Oracle

Resolução

Use a função DATEPARSE() em vez da função DATE().

Por exemplo, se o cálculo DATE() for
DATE( STR ([Year]) + "-" + STR([Month]) + "-1" )

O cálculo DATEPARSE() correspondente seria

​DATEPARSE("yyyy-mm-dd", (STR ([Year]) + "-" + STR([Month]) + "-1" ))

Causa

Esse erro ocorre quando um literal é inserido com uma cadeia de caracteres de formato, mas o comprimento desta cadeia de caracteres de formato não é o mesmo que o do literal. Isso pode ocorrer no Tableau Desktop ao usar a função DATE() junto a um banco de dados do Oracle.
Este artigo resolveu o problema?