mysql - 获取具有特定时差的所有行

标签 mysql sql

你好,我有一张这样的 table :

|user_name|pw|register_date|last_time_entered

我想获取 last_seen_date - register_date < 7 的所有行

我不知道怎么写这个查询,我想到了这样的事情

SELECT * FROM workoutlog_1.personal 
WHERE DATEDIFF(day, workoutlog_1.personal.register_date, workoutlog_1.personal.last_time_entered) < 7;

但是我得到这个错误:

Error Code: 1582. Incorrect parameter count in the call to native function 'DATEDIFF'

感谢您的帮助。

最佳答案

你的错误代码似乎来自mysql。

使用 mysql,datediff只接受 2 个参数(不需要 day)

我认为在(真正的)旧版本中,它需要 3 个参数,现在它只适用于 2 个,并且会返回天数。

如果您必须使用另一个单位(例如小时),您可以使用 TIMESTAMPDIFF

关于mysql - 获取具有特定时差的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21021511/

相关文章:

php - 如何使用 codeigniter 编写 'or' 查询

php - 如何释放直接作为数组获取并存储在变量中的 mysql 结果?

PHP 和 SQL : Syntax Error

mysql - 从 2 个表中选择会导致错误

php - fatal error :调用未定义的方法 DB::get()

mysql - 是否可以创建触发器以将值复制到另一行(在同一个表中)的同一字段中?

sql - MySQL INSERT - SELECT 语法问题!

sql - Access VBA SQL 字符串太长

sql - 按特定字段值排序SQL查询

sql - Nvarchar 或 varchar 哪个更好地使用乘以 2 或四舍五入的全数?