【发布时间】:2015-06-12 10:02:16
【问题描述】:
我有一个脚本,我在其中编写函数和过程。该脚本在 Oracle SQL 开发人员中运行良好,没有任何错误或警告。这个脚本我必须提供给客户端客户。客户用户在TOAD 中运行相同的脚本并收到错误消息
ORA-01830: date format picture ends before converting entire input string
在这种情况下,我真的不知道如何处理这样的错误。这是TOAD 中的错误吗?
我在函数中使用了to_date 和to_timestamp,但出现错误。
【问题讨论】:
-
这将有助于显示您的代码。但是您在某处依赖 NLS_DATE_FORMAT ,并且在两个客户端中具有不同的值会导致不同的行为。永远不要依赖它,始终使用显式格式掩码...
-
感谢亚历克斯的回复。我的函数代码非常大,这就是为什么我没有提及我的代码,并且我在导致问题的函数中使用了 to_date 和 to_timestamp。我不明白你的意思是使用显式格式掩码是什么意思?是的,我更改了我的 sql 开发人员中的 NLS_DATE_FORMAT 设置以获取时间戳值。但是如何在 TODE 中解决这个问题呢?
-
不要更改客户端中的 NLS_DATE_FORMAT;不要依赖它,将您设置的相同值(例如
'DD/MM/YYYY HH24:MI:SS')传递给to_date()作为第二个参数;文档中显示的 fmt。 -
感谢 Alex,我会检查文档并尝试解决此问题。
标签: oracle function datetime toad to-date