Mysql SELECT 按日期格式为 24 小时制

Mysql SELECT by date format as 24 hour

我正在尝试 select 来自 table mysql 的数据,但我需要以军用格式格式化 varchar 日期列,但无法实现我的愿望输出我的查询如下。

"SELECT STR_TO_DATE(`hour`, '%Y-%m-%d %k:%i') AS `time` FROM `dataTable`"

当我尝试回显时出现以下格式。

2017-09-21 00:00:00

下面是我想要的输出,它是 24 小时格式并删除了秒数,任何建议都很好。

2017-09-21 18:00

使用mysql的Date_format功能。

"SELECT DATE_FORMAT(`hour`, '%Y-%m-%d %H:%i') AS `time` FROM `dataTable`"

解释:


STR_TO_DATE函数始终return日期格式为2008-09-1522:23:00

SELECT STR_TO_DATE('Monday 15th September 2008 22:23:00', '%W %D %M %Y %H:%i:%s');
+----------------------------------------------------------------------------+
| STR_TO_DATE('Monday 15th September 2008 22:23:00', '%W %D %M %Y %H:%i:%s') |
+----------------------------------------------------------------------------+
| 2008-09-15 22:23:00                                                        | 
+----------------------------------------------------------------------------+
1 row in set (0.00 sec)

查看上面的例子:STR_TO_DATE函数中的第二个参数是参数1的格式,告诉函数在函数中参数1是以什么格式传入的。

Reference taken from this link.