"Дата" не является признанным встроенным именем функции
Я хочу найти все записи текущего дня. У меня есть поле Date типа DATE. Я получаю ошибку на sql server
'DATE' is not a recognized built-in function name.
в этой строке
(DATE(EnterDate) = CURDATE() )
5 ответов
как говорится в сообщении, отсутствует DATE
функции в SQL Server 2008 или 2012 (Вы отметили оба, поэтому я не уверен, на что вы нацелены). Вы можете, однако, бросьте в date
введите SQL Server 2008 и выше:
WHERE EnterDate = CONVERT(date,GETDATE())
обратите внимание, что нет CURDATE
функция либо, поэтому я перевел это на GETDATE()
используйте следующее условие в вашем where cluase
WHERE CAST(DateColumn AS DATE) = CAST(GETDATE() AS DATE)
^------------ Your Column Name with `Date` or 'DateTime' data type
CURDATE()
является функцией mysql, в Sql-Server у нас есть GETDATE()
функция для получения текущей даты и времени.
более эффективно
WHERE EnterDate > DATEADD(dd, -1, DATEDIFF(dd, 0, GETDATE()))
спасибо @D Stanley @marc_S и @Mihai
наконец - то я сделал это
Где EnterDate > конвертировать(дата-время,конвертировать(varchar,DATEADD (день,0,GETDATE ()), 101))
Это не точный ответ, но пример того, как обрезать часть времени от переменной времени даты
конвертировать(VARCHAR(10),date_manufactured,10) =конвертировать(VARCHAR (10),@startdate,10))