有人注意到了吗?如果可以的话,该如何解决?
当我按时间对数据进行排序时,我会这样做。SELECT TimeColumn FROM Table ORDER BY TimeColumn ASC
上面的代码很好,但是当我这样做时。SELECT date_format(TimeColumn, '%h:%i %p') AS TimeColumn FROM Table ORDER BY TimeColumn ASC
排序不正确。
如何解决? TYSM
最佳答案
您的问题是您要重命名与列名称相同的表达式。别名用于排序-排序不正确。
只需使用合格的列名:
SELECT date_format(TimeColumn, '%h:%i %p') AS TimeColumn
FROM Table t
ORDER BY t.TimeColumn ASC;
或者,为列指定其他名称:
SELECT date_format(TimeColumn, '%h:%i %p') AS TimeColumn_hh12
FROM Table t
ORDER BY TimeColumn ASC;
关于mysql - 将时间列从24小时格式转换为12小时格式时,排序不正确,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46965363/