在sql查询中输入日期之前,我格式化并将此日期转换为String,因为java.util.Date不起作用。
//create the date format
String DATE_FORMAT = "yyyy-MM-dd hh:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
//convert the date to a String
String dateString = sdf.format(Date);
然后我在我的java代码中使用sql查询中的datestring:
... +" and (t.actualEndDateTime > '" + dateString + "';
我知道java.sql.Date也是一个选项,但我只是想知道这是可以接受还是不好的做法?
我使用Hibernate 3.0连接到mySQL db。
答案 0 :(得分:0)
您可以使用 MYSQL 语法执行此操作。检查此主题:MySQL: Compare date strings?
但至少有两个原因不推荐这样做:
Date
转换为String
是不必要的步骤(仅当您的日期在db中存储为字符串时) Hibernate能够正确地将java.util.Date
与数据库特定的日期类型进行比较