MySQL选择(Varchar)时间

时间:2014-03-25 08:09:47

标签: php mysql time

我在数据库中管理日期和时间。在后端/ PhpMyAdmin 中,其列类型 Varchar

它已经过时而且没有正确制作系统,但它非常庞大并且将列类型更改为 日期 < em>整数 将耗费大量时间。

我的问题是:如何按00:00格式(g:i)按time_column选择排序?

看起来像(工作正常,但问题是时间低于 10 h 9:00,8:00

mysql_query("SELECT * FROM l01vs_database ORDER BY time ASC");

我试过

mysql_query("SELECT * FROM l01vs_database ORDER BY STR_TO_DATE(time,'%g:%i') ASC");

但我不确定它是否正确。

2 个答案:

答案 0 :(得分:1)

我认为您使用的是错误的语法变量。你使用'%g:%i',但不应该是'%H:%i'?

"SELECT * FROM l01vs_database ORDER BY STR_TO_DATE(time,'%H:%i') ASC"

如果你有12小时格式,你可以使用'%h'。请查看此页面以获取更多信息:http://www.w3cyberlearnings.com/Mysql_STR_TO_DATE

答案 1 :(得分:0)

根据日期输入的格式是否为24小时格式,您可能需要将STR_TO_DATE(time,'%g:%i')更改为STR_TO_DATE(time,'%H:%i')。您将拥有前导零,这样您就不会遇到9:00和8:00的问题。如果输入为12h格式,则使用较低的“h”