知识库

将 DATE() 函数与 Oracle 配合使用时出现错误“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

解决方案

请使用 DATEPARSE() 函数,而不是 DATE() 函数。

例如,如果 DATE() 计算是
DATE( STR ([Year]) + "-" + STR([Month]) + "-1" )

则匹配的 DATEPARSE() 计算将是

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

原因

输入带格式字符串的文字时会出现此错误,但此类格式字符串的长度与文字不相同。将 DATE() 函数和 Oracle 数据库一起使用时,Tableau Desktop 中有时会发生这种情况。
此文章是否已解决问题?