Получение текущей даты в SQL Server? [дубликат]



этот вопрос уже есть ответ здесь:



как я могу получить текущую дату в MS-SQL сервер 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



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

629   2  

2 ответов:

SELECT CAST(GETDATE() AS DATE)

возвращает текущую дату с удаленной частью времени.

DATETIMEне "хранятся в следующем формате". Они хранятся в двоичном формате.

SELECT CAST(GETDATE() AS BINARY(8))

формат отображения в вопросе не зависит от хранения.

форматирование в определенный формат отображения должно выполняться вашим приложением.

Как вы используете SQL Server 2008, перейдите с ответом Мартина.

Если вам нужно сделать это в SQL Server 2005, где у вас нет доступа к Date тип столбца, я бы использовал:

SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)

SQLFiddle

Comments

    Ничего не найдено.