字符串类型的"order by date"



我的问题看起来很愚蠢,但我还没有找到任何有效的解决方案。我在我的DB DateTime格式为d/m/Y H:i:s(日/月/年小时:分钟:秒),这是一个字符串

我需要按DateTime订购一张桌子,但显然它按天订购08/06/2015 11:25:3714/05/2015 10:18:20之前。我试图将DateTime转换为日期,但它不起作用。

是否有一种方法可以正确地转换它,或者按年、月、日、小时等顺序排序?

可按转换值排序:

select * from TableName
order by STR_TO_DATE(ColumnName, 'd%/m%/Y% H%:i%:s%')

小提琴http://sqlfiddle.com/!9/f5003/1

您必须使用str_to_date将字符串转换为日期,然后您可以按以下顺序使用:

SELECT * from `table` order by STR_TO_DATE(column_name,'%d/%m/%Y %H:%i:%s');

有关更多信息,请参阅mysql文档

您应该考虑将列的类型更改为日期时间类型

相关内容

  • 没有找到相关文章

最新更新