Получение текущей даты в SQL Server? - программирование
Подтвердить что ты не робот

Получение текущей даты в 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

Как я могу это получить?

4b9b3361

Ответ 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