我有一个 mysql 表,其中包含一个存储时间序列的列,如下所示:
08:00 - 09:00
09:00 - 10:00
07:00 - 08:00
11:00 - 12:00
06:00 - 07:00
... 等等。
在进行 mysql 查询时,我希望此列对结果进行排序,顺便说一下,该列是 varchar 数据类型列。
我想要的结果是:
06:00 - 07:00
07:00 - 08:00
08:00 - 09:00
09:00 - 10:00
11:00 - 12:00
这就是我没有成功的尝试:
SELECT * FROM mytable ORDER BY CAST(mycolumn AS INT) ASC;
任何帮助将不胜感激!
答案 0 :(得分:2)
按字符串值排序列会产生您想要的结果:
SELECT *
FROM mytable
ORDER BY mycolumn ASC;
左边的数字是零填充的,因此它们的排序方式与字符串和整数相同。