具有这样的查询(在MariaDB 5数据库上):
SELECT DATE_FORMAT(FROM_UNIXTIME(mov.date), '%H:%i') AS time
FROM ek_movement mov
在phpmyadmin查询编辑器中显示错误/警告,它为我添加了一个右括号。 原因显然是char“:”,将小时和分钟分开。我已经注意到,与执行不存在此类错误/警告的查询(例如,将分隔符更改为空格)相比,执行该问题的查询所花的时间要长得多。 我该如何解决,是否有可能转义“:”字符?我不想使用CONCAT的组合来实现我想要的。
答案 0 :(得分:0)
冒号没有问题。
date
是TIMESTAMP
或DATETIME
数据类型,请删除FROM_UNIXTIME
。date
是BIGINT
或INT
,请保留FROM_UNIXTIME
。date
是DATE
,则只会得到'00:00'或NULL
。这样想:在大多数情况下,只需选择该列即可为您提供类似于日期的内容:2018-07-18 22:07:21
,因此DATE_FORMAT()
可以对其采取行动。
但是对于INT
,像1531976939
这样的值显然需要某种转换,才能将其视为日期,因此需要FROM_UNIXTIME()
。