MySql PHP按个性化时间值排序



我的数据库中有一个个性化的时间值,如下所示:下午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

有什么帮助吗?

提前感谢

试试看,

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

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

例如:

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

来源于MySQL:按时间排序(MM:SS)?

ORDER BY hora+0是您的问题。你正在计算你的时间值,并试图对它们进行算术加法运算。这破坏了存储时间的固有"时间"类型,并将其转换为一个严重损坏的整数:

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

只尝试ORDER BY hora不添加

最新更新