我的问题看起来很愚蠢,但我找不到任何有效的解决方案。
我的数据库DateTime
格式为d/m/Y H:i:s
(日/月/年小时:分:秒),这是字符串。
我需要在DateTime
一张桌子旁边订购,但显然它会在当天订购
08/06/2015 11:25:37
在14/05/2015 10:18:20
之前。
我尝试将DateTime
转换为日期但不起作用。
有没有办法正确地进行转换或按月订购,然后是按月,然后按天计数等等?
答案 0 :(得分:4)
您可以按转换价值订购:
select * from TableName
order by STR_TO_DATE(ColumnName, 'd%/m%/Y% H%:i%:s%')
答案 1 :(得分:3)
您必须使用str_to_date将字符串转换为日期,而不是按顺序使用它:
SELECT * from `table` order by STR_TO_DATE(column_name,'%d/%m/%Y %H:%i:%s');
有关详细信息,请参阅mysql documentation
您应该考虑将列的类型更改为日期时间类型。