比较查询中的oracle日期时间失败并且不返回任何记录

时间:2016-01-11 13:27:12

标签: sql database oracle oracle11g datetime-format

我是oracle的新手,在选择记录时比较日期有愚蠢的问题。

我的tableX中有一个名为req_datetime的字段,它被声明为DATE类型

插入记录时,我只是使用下面的java格式,插入日期就好了。

SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd-MM-yyy HH:mm:ss");

虽然我从sql开发人员运行下面的查询它没有返回任何记录,看起来比较日期格式有一些问题。我尝试了很多日期格式,但没有一个工作。

我注意到有一件事,如果我使用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

请你帮忙。谢谢 更新图片

enter image description here

1 个答案:

答案 0 :(得分:1)

为什么不简单地将其与TO_DATE一起插入?例如:

String sql = "INSERT INTO table x (req_datetime, ....) VALUES "
      + "(to_date('"+ getCurrentTimeStamp()+ "', 'yyyy/mm/dd hh24:mi:ss'), ...)";

private static String getCurrentTimeStamp() {
    DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    java.util.Date today = new java.util.Date();
    return dateFormat.format(today.getTime());
}