我试图让图片时间最接近实际时间。 我尝试改进我的请求,但我坚持我的 WHERE 子句:
*最后一次语法尝试:* SUBTIME(CURTIME(),INTERVAL 2 HOUR) 和 ADDTIME(CURTIME(),INTERVAL 2 HOUR) 之间的 TIME(heure_pdv)
然后我收到一个错误: ERREUR MYSQL numéro:1064 Type de cette erreur: 您的 SQL 语法有错误;
我哪里错了? 谢谢
nb:heure_pdv 列是时间类型。
该请求似乎有效,但我不确定它是否正确编写(尤其是“curtime()+8”:
"SELECT
fichier,
date_pdv,
commune,
pays,
ib_medias.cover,
heure_pdv,
ib_series.titre AS titre_serie,
ib_series.public AS aff_serie,
ib_series.id AS id_serie,
serie AS id_serie,
ABS(TIMEDIFF(heure_pdv,CURTIME())) as differ ,
ib_medias.titre AS titre_image
FROM ib_medias LEFT OUTER JOIN ib_series
ON ib_medias.serie = ib_series.id
WHERE HOUR(heure_pdv)BETWEEN HOUR(CURTIME()) AND HOUR(CURTIME()+8)
AND ib_medias.site_cover > 0
ORDER BY differ
LIMIT 0, 1";
最佳答案
addtime 是一个用于从一个日期时间值减去另一个日期时间值的函数。 查看链接:http://w3resource.com/mysql/date-and-time-functions/mysql-subtime-function.php
你应该使用 date_add :
select *
from photo
where TIME(heure_pdv) BETWEEN date_add(CURTIME(),INTERVAL -2 HOUR) AND date_add(CURTIME(),INTERVAL 2 HOUR)
关于mysql - 请求在sql db中查找时间最接近的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43688980/