Получение текущей даты в SQL Server?
Как получить текущую дату в MS-SQL Server 2008 R2?
Формат столбца в моей базе данных DATETIME
, а даты хранятся в следующем формате:
+++++++++++++ Vrdate ++++++++++
| |
| 2012-11-18 00:00:00.000 |
| 2012-11-19 00:00:00.000 |
| 2013-11-18 00:00:00.000 |
| 2012-12-01 00:00:00.000 |
| 2010-10-09 00:00:00.000 |
| 2012-11-11 00:00:00.000 |
| |
+++++++++++++++++++++++++++++++
Я искал, но не смог найти способ получить дату в этом формате (т.е. время, связанное с ней в 00:00:00.00
). Я нашел функцию GETDATE()
, но она также предоставляет текущее время вместе с датой, и я хочу получить дату в следующем формате: CurrentDate 00:00:00.00
Как я могу это получить?
Ответы
Ответ 1
SELECT CAST(GETDATE() AS DATE)
Возвращает текущую дату с удаленной частью времени.
DATETIME
не сохраняются в следующем формате. Они хранятся в двоичном формате.
SELECT CAST(GETDATE() AS BINARY(8))
Формат отображения в вопросе не зависит от хранилища.
Форматирование в определенный формат отображения должно выполняться вашим приложением.
Ответ 2
Как вы используете SQL Server 2008, пойдите с ответом Мартина.
Если вам нужно сделать это в SQL Server 2005, где у вас нет доступа к типу столбца Date
, я бы использовал:
SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)
SQLFiddle