KNOWLEDGE BASE

Errore: "ORA-01861: literal does not match format string" durante l'utilizzo della funzione DATE() con Oracle


Pubblicato: 23 Jan 2017
Data dell'ultima modifica: 19 Oct 2020

Problema

Durante l'utilizzo della funzione DATE() in un campo calcolato con un'origine dati di Oracle, potrebbe verificarsi il seguente errore:

ORA-01861: literal does not match format string (ORA-01861: il valore letterale non corrisponde alla stringa di caratteri)

Ambiente

  • Tableau Desktop
  • Oracle

Soluzione

Usa la funzione DATEPARSE() invece della funzione DATE().

Ad esempio, se il calcolo DATE() è
DATE( STR ([Year]) + "-" + STR([Month]) + "-1" )

Il calcolo DATEPARSE() corrispondente sarà

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

Causa

Questo errore si verifica quando viene immesso un valore letterale con una stringa di caratteri la cui lunghezza differisce da quella del valore letterale. In alcuni casi ciò può verificarsi in Tableau Desktop quando si utilizza la funzione DATE() con un database di Oracle.
Con questo articolo hai risolto il problema?