我是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
请你帮忙。谢谢 更新图片
答案 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());
}