我正在尝试使图片时间最接近实际时间。
我试图改善我的要求,但坚持使用我的WHERE子句:

*最后一种语法尝试:*
子时间(CURTIME(),间隔2小时)和添加时间(CURTIME(),间隔2小时)之间的时间(heure_pdv)

然后我得到一个错误:
ERREUR MYSQLnuméro:1064输入错误类型:您的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 - 请求在mysql db中找到最接近的元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43688980/

10-09 08:49