Получение текущей даты в 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
как я могу получить это?
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)
Comments