SQL 其中 DATEDIFF

SQL where DATEDIFF

大家好,我有 table mysql

我需要过滤结果 created_at 并在这些时间戳之间相差 2 小时或更短时间进行更新

我正在尝试使用:

SELECT * 
FROM `imoniu_r_padaliniai`
WHERE DATEDIFF(hour, created_at, updated_at) <= 2;

但是我得到语法错误如何实现这个?

只需使用直接比较:

where updated_at <= created_at + interval 2 hour

在MySQL和MariaDB中,datediff()只处理日期差异。如果你想要任意时差,你需要timestampdiff()。但是,我建议改用直接比较。

datediff() 的 three-argument 形式是 SQL 服务器(以及少数其他数据库)中的语法,而不是 MySQL。