Hql中比较时间时拼hql语句,可以【cast "2010-07-03 10:26:46" as date 】但不能【cast "2010-07-03 10:26:46" as datetime 】,因为hibernate不支持,见如下:
Java代码
String beginDate =
"2010-07-03 10:26:46"; String hql =
"flowDefinition.createTime > " +
"cast('" + beginDate +
"' as datetime)" ;
String beginDate = "2010-07-03 10:26:46";
String hql = "flowDefinition.createTime > " + "cast('" + beginDate + "' as datetime)" ;
但是如果必须比较datetime,可以这样比较:
Java代码
String beginDate =
"2010-07-03 10:26:46"; String hql =
"flowDefinition.createTime > " +
"'"+beginDate+
"'" ;
String beginDate = "2010-07-03 10:26:46";
String hql = "flowDefinition.createTime > " + "'"+beginDate+"'" ;
如果使用sql,mysql同时支持【cast "2010-07-03 10:26:46" as date 】和【cast "2010-07-03 10:26:46" as datetime 】。