【发布时间】:2011-12-02 04:29:51
【问题描述】:
改写一下,因为我这样使用日期:
date'2010-04-10'
,结果会不会是 2010 年 4 月 10 日(例如 2010 年 10 月 4 日)?
更新 我听到了您和文档的意见。但是……
当批处理作业运行时,使用硬编码的日期'yyyy-mm-dd':s,它会因某些(非确定性)计算而失败。在 PL/SQL Developer 中运行失败的 SQL 语句永远不会产生相同的、不正确的值。
首先,我用 to_date('', '') 函数替换了 date'' 日期文字,运行了相同的计算(数十万次),一切正常。
然后,我使用 NHibernate 及其 LINQ 提供程序,并完全替换了手工编写的 SQL。 ...并且一切正常... NHibernate 产生一个 '' 日期文字,包括时间部分,顺便说一句。
更新我的一位同事写了一些代码,可以在我们的环境中重现错误。他在 Oracle 论坛上发布了他的发现(包括代码):https://forums.oracle.com/forums/thread.jspa?threadID=2304569&tstart=0
UPDATE 根据 zerkms 的回答更改了标题。
【问题讨论】:
标签: oracle nhibernate plsql oracle10g