尝试转换Varchar2列并使用BIP报告检索数据时获取Oracle错误
我们在oracle表中有列(字段)属性14,该列表的数据类型varchar2,并以格式存储日期 '20 -may-22'
( dd-mon-yy
)。
我们需要在Oracle Fusion中开发BIP报告,并根据传递的参数日期获取输出。如果没有参数为基于所有记录。
但是,众所周知,Oracle数据集或BIP报告中的任何日期参数都将处于以下格式。
日期参数:'2021-12-05T19:00:00.000-05:00'
以及在通过以下错误时尝试以下查询时。
select *
from ab cet
where 1=1
AND TO_DATE(cet. attribute14, DD-MON-YY NLS_date_language=AMERICAN")
IN ( nvl(:void_date.TO_DATE(cet.attribute14, DD-MON-YY.NLS_date_language=AMERICAN")))
当参数值传递时,以下错误出现。
Error: ORA-01847: day of the month must be between 1 and the last day of the month.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要在日期格式附近使用单个引号。看来您的语言也不正确。详细信息可以在Oracle文档中阅读。这是一个简单的示例。
You need to use single quotes around the date format. Seems your language is also incorrect. Details can be read in the Oracle documentation. Here is a simple example.
https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions183.htm