日期:2014-05-19  浏览次数:20808 次

用hibernate对mysql数据库查询排序问题
求助:
我想用hibernate对mysql里的一张表进行查询,并按日期排序。
但问题在于,表里面日期的格式如“2012-03-27 21:42:26 ”,我想只对日期进行排序,即忽略时、分、秒部分。应该如果查询呢?

------解决方案--------------------
Order By TO_DAYS(time)

不过这样做无法利用索引,如果结果集的数据规模大的话,性能堪忧。


好的做法是另找个字段,只保存日期,建上索引。
------解决方案--------------------
增加一个字段。。保存日期。
------解决方案--------------------

order by substr (date,0,10 ) ;
------解决方案--------------------
根据日期排序跟忽不忽略略时、分、秒没啥关系啊。

你只用select TO_DAYS(time) form xxx order by time就行啦。

哪个说一定要order by TO_DAYS(time)

order by TO_DAYS(time) 和 order by time是一样的结果。但前者比后者效率差远了。