ナレッジベース

Oracle の DATE() 関数の使用時エラー: "ORA-01861: literal does not match format string"


発行: 23 Jan 2017
最終修正日: 18 Sep 2020

問題

Oracle データソースで DATE() 関数を計算フィールドに使用すると、次のエラーが発生することがあります。

ORA-01861: literal does not match format string (ORA-01861: リテラルが書式設定文字列に一致しません)

環境

  • Tableau Desktop
  • Oracle

解決策

DATE() 関数の代わりに DATEPARSE() 関数を使用します。

たとえば、DATE() 計算が次の場合、
DATE( STR ([Year]) + "-" + STR([Month]) + "-1" )

適合する DATEPARSE() 計算は次のようになります。

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

原因

このエラーは、書式設定文字列にリテラルを入力したが、書式設定文字列とリテラルの長さが同じでない場合に発生します。これは、Oracle データベースと共に DATE() 関数を Tableau Desktop で使用すると発生することがあります。
この記事で問題は解決しましたか?