Функция DateDiff

Я пробую несколько примеров для функции DateDiff

SELECT DATEDIFF(day,'2008-06-05','2008-08-05') AS DiffDate 

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

SELECT DATEDIFF(day,datebegin,datestop) 
From table; 

Я получаю эту ошибку "datediff" invalid identifier. Как я могу получить разницу в день?


person lilu    schedule 06.11.2012    source источник


Ответы (2)


Какую базу данных вы используете?

Поиск в гугле дал мне следующее:

http://www.mssqltips.com/sqlservertip/2508/sql-server-datediff-example/

DAY SELECT DATEDIFF(DD,'23.09.2011 15:00:00','02.08.2011 14:00:00')

где «ДД» используется вместо «дней».

Попробуйте ответить на эти вопросы:

Какую базу данных я использую?

Чувствительна ли база данных к регистру? Это может быть ошибка, возникающая с datediff, в отличие от DATEDIFF.

person user1803784    schedule 06.11.2012
comment
Да, какую базу данных я использую? это помогло мне. СПАСИБО! Я использовал неправильный синтаксис. - person lilu; 07.11.2012
comment
@lilu я знаю, что это мелочь, но я тоже спросила что-то очень похожее ... может быть, ты не видел моего? - person Sajjan Sarkar; 07.11.2012

попробуй SELECT DATEDIFF(dd,datebegin,datestop) from table

Я думаю, что «день» тоже работает, я смог выполнить:

SELECT DATEDIFF(day,'1/1/2011','1/1/2012') 

Так что я не уверен, что вы делаете неправильно. Какую версию SQL Server вы используете?

person Sajjan Sarkar    schedule 06.11.2012
comment
Я уже пробовал это, и это дает мне ту же ошибку: неверный идентификатор - person lilu; 06.11.2012
comment
@lilu вы можете выполнить это: SELECT DATEDIFF(день,'1/1/2011','1/1/2012') Это сработало для меня.. Я получаю 365 - person Sajjan Sarkar; 06.11.2012