0

我的 SQL 语法有问题。但我无法确定语法有什么问题。语法是:

SELECT * FROM Inmuebles WHERE DATEDIFF(day, FechaIngreso, getdate()) <= 30

我在 DATEDIFF 函数中放置三个参数的原因是因为我在这里阅读过:DATEDIFF

此查询的执行返回了以下错误:

#1582 - 调用本机函数 'DATEDIFF' 中的参数计数不正确

然后谷歌这个错误,我遇到了以下帖子:

在 MySQL 中计算年龄时出错?

阅读这篇文章后,我决定以这种方式离开查询:

SELECT * FROM Inmuebles WHERE DATEDIFF(FechaIngreso, getdate()) <= 30

但不幸的是,这个错误让我绊倒了:

#1547 - mysql.proc 的列数错误。预期 20,发现 16。表可能已损坏

感谢您花时间阅读,希望您能原谅我写英语的糟糕方式,并能帮助解决这个问题。问候!

4

1 回答 1

1

您正在使用 MS SQL Server 语法:

GETDATE()= 微软 SQL 服务器

NOW()/ CURDATE()= MySQL

如果您想要DELETE从上面的查询返回的记录,它应该是:

DELETE FROM Inmuebles 
WHERE DATEDIFF(FechaIngreso, NOW()) <= 30;
于 2013-09-15T02:43:23.967 回答