MySql PHP按个性化时间值排序

时间:2013-07-10 16:12:07

标签: php mysql sorting time

我的数据库中有一个个性化的时间值,如下所示:下午3:35(它从零开始),我需要按时间顺序asc,我试过:

SELECT * FROM mytable WHERE(mydate=\"$thedate\") ORDER BY hora+0

我明白了:

下午3:35
下午3:00
下午3:12

但我被期待:

下午3:00
下午3:12
下午3:35

任何帮助?

提前致谢

2 个答案:

答案 0 :(得分:1)

尝试,

SELECT * FROM table ORDER BY str_to_date(meta_time,'%l:%i')

您可以在MySQL网站上找到特定的格式化程序。

例如:

%k -> Hour (0..23) %l -> Hour (1..12)

来自MySQL: Order by time (MM:SS)?

的来源

答案 1 :(得分:0)

ORDER BY hora+0是你的问题。你正在考虑你的时间价值,并尝试对它们进行算术加法。这会破坏存储时间的固有“时间”类型,并将其转换为严重损坏的整数:

mysql> select curtime(), curtime()+0;
+-----------+---------------+
| curtime() | curtime()+0   |
+-----------+---------------+
| 10:16:19  | 101619.000000 |
+-----------+---------------+

尝试ORDER BY hora添加。