【发布时间】:2012-04-18 19:10:55
【问题描述】:
在 Toad 编辑器中,我有这个 SQL:
SELECT INTERLOPERABCID,AVAILABLEDATE,
AVAILABLEQHR,CARPHONEID,
TRUNC((AVAILABLEQHR-1)/12) "COL",
MOD(AVAILABLEQHR-1,12) "ROW"
FROM ABC.INTERLOPERAVAILABILITY
WHERE INTERLOPERABCID>42
AND AVAILABLEDATE='09/Apr/2012'
...但它不返回任何行,即使我在表中看到许多记录其 AVAILABLEDATE 值 = '4/9/2012'
日期格式('09/Apr/2012';我也试过 '04/Sep/2012')看起来很奇怪,但至少我没有得到任何编译/执行错误。当我尝试“2012 年 4 月 9 日”和“2012 年 4 月 9 日”时,它说“ORA-01853:无效月份”
我必须如何输入日期才能告诉它我想查看 2012 年 4 月 9 日的日期?
【问题讨论】:
-
日期格式取决于 NLS_DATE_FORMAT 设置,它取决于 NLS_TERRITORY。两者都可以是特定于会话的。永远不要依赖“默认”日期格式,在 to_date 函数中使用正确的日期掩码。