2013-09-15 3 views
0

У меня проблема с синтаксисом SQL. Но я не могу определить, что не так с синтаксисом. синтаксис:Ошибка DateDiff SQL

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

Причина, почему я поставил три параметра в функции DATEDIFF происходит потому, что я прочитал здесь: DATEDIFF

Выполнение этого запроса возвратил следующую ошибку:

# 1582 - Неправильный подсчет параметров в вызове функции родной «» DATEDIFF

Затем Google ошибка, и я наткнулся на следующее сообщение:

Error in calculating age in MySQL?

Прочитав этот пост, я решил оставить запрос таким образом:

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

Но, к сожалению споткнулся меня с этой ошибкой:

# 1547 - количество столбцов в MySQL. proc ошибочен. Ожидается 20, найдено 16. Вероятно, таблица повреждена.

Спасибо, что нашли время, чтобы прочитать, пожалуйста, я надеюсь, что вы сможете простить мой ужасный способ написать английский и можете помочь с этой проблемой. Приветствую!

ответ

1

Вы используете MS SQL Server: синтаксис

GETDATE() = MS SQL Server

NOW()/CURDATE() = MySQL

Если вы хотите DELETE записи вернулся из запроса выше он должен просто be:

DELETE FROM Inmuebles 
WHERE DATEDIFF(FechaIngreso, NOW()) <= 30; 
+0

Отлично, вы нашли ответ, большое вам спасибо, как wou Если бы я хотел удалить из таблицы записи результата? Еще раз спасибо! – candlejack