【发布时间】:2016-01-11 13:27:11
【问题描述】:
我是 oracle 新手,在选择记录时比较日期时遇到了愚蠢的问题。
我的 tableX 中有一个名为 req_datetime 的字段,它被声明为类型 DATE
在插入记录时,我只是在 java 格式下使用,并且插入日期就好了。
SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd-MM-yyy HH:mm:ss");
虽然我在 sql developer 的查询下运行它没有返回任何记录,但在比较日期格式时似乎存在一些问题。我尝试了很多日期格式,但都没有奏效。
我注意到一件事,如果我使用 sql developer 手动打开表并立即重置日期,那么查询将只返回我使用 sql developer 更改日期的行。
这是我的 sql 查询
SELECT * from tableX Where cardno='xyzzz' AND req_datetime >=TO_DATE('11/Jan/2016 00:00:00','dd/mon/yyyy HH24:MI:SS') ORDER BY req_datetime ASC
请需要您的帮助。谢谢 更新图片:
【问题讨论】:
-
确保您没有未提交的交易。您的查询是正确的。
-
尝试将其与 sysdate 进行比较并告诉我会发生什么,另外,您能否在 req_datetime 列中给我们举个表格内的日期示例?
-
如果你选择了那个 cardno 的 max(req_datetime),你会得到什么?
-
@Dan Bracuk - 我得到日期作为输出 11-01-0016 18:27:17
-
您似乎将数据回溯了几千年。此外,您可能会因为将水平滚动条恢复到问题中的代码而被枪杀和小便。
标签: sql database oracle oracle11g datetime-format