date_format时间带有“:”的警告会

时间:2018-07-18 06:32:25

标签: phpmyadmin mariadb date-format

具有这样的查询(在MariaDB 5数据库上):

SELECT DATE_FORMAT(FROM_UNIXTIME(mov.date), '%H:%i') AS time
FROM ek_movement mov

在phpmyadmin查询编辑器中显示错误/警告,它为我添加了一个右括号。 原因显然是char“:”,将小时和分钟分开。我已经注意到,与执行不存在此类错误/警告的查询(例如,将分隔符更改为空格)相比,执行该问题的查询所花的时间要长得多。 我该如何解决,是否有可能转义“:”字符?我不想使用CONCAT的组合来实现我想要的。

1 个答案:

答案 0 :(得分:0)

冒号没有问题。

  • 如果dateTIMESTAMPDATETIME数据类型,请删除FROM_UNIXTIME
  • 如果dateBIGINTINT,请保留FROM_UNIXTIME
  • 如果dateDATE,则只会得到'00:00'或NULL

这样想:在大多数情况下,只需选择该列即可为您提供类似于日期的内容:2018-07-18 22:07:21,因此DATE_FORMAT()可以对其采取行动。

但是对于INT,像1531976939这样的值显然需要某种转换,才能将其视为日期,因此需要FROM_UNIXTIME()