0

我有一个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;  

任何帮助,将不胜感激!

4

1 回答 1

2

按字符串值对列进行排序会产生您想要的结果:

SELECT *
FROM mytable
ORDER BY mycolumn ASC;

数字在左侧补零,因此它们的排序方式与字符串和整数相同。

于 2013-09-11T10:54:24.463 回答