Oracle / Toad期望什么日期格式?

时间:2012-04-18 19:10:56

标签: sql oracle date toad

在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')看起来很奇怪,但至少我没有得到编译/执行错误。当我尝试“4/9/2012”和“04/09/2012”时,它说“ORA-01853:不是有效的月份”

我如何输入日期告诉它我想查看2012年4月9日的日期?

2 个答案:

答案 0 :(得分:8)

最安全的使用TO_DATE:

AND AVAILABLEDATE = TO_DATE('09/Apr/2012', 'DD/Mon/YYYY')

答案 1 :(得分:5)

我喜欢使用date literal

SELECT INTERLOPERABCID,AVAILABLEDATE,
AVAILABLEQHR,CARPHONEID,
TRUNC((AVAILABLEQHR-1)/12) "COL",
MOD(AVAILABLEQHR-1,12) "ROW"
FROM ABC.INTERLOPERAVAILABILITY
WHERE INTERLOPERABCID>42
AND AVAILABLEDATE = DATE '2012-04-09'

你确定你的日期没有时间吗?