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。
大家好,我有 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。