我在数据库中管理日期和时间。在后端/ 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");
但我不确定它是否正确。
答案 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”