it-swarm.com.de

Abrufen des aktuellen Datums in SQL Server?

Wie kann ich das aktuelle Datum in MS-SQL Server 2008 R2 abrufen?

Das Format der Spalte in meiner Datenbank ist DATETIME und die Daten werden im folgenden Format gespeichert:

+++++++++++++ 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   |
|                             |
+++++++++++++++++++++++++++++++

Ich habe gesucht, konnte aber keinen Weg finden, um das Datum in diesem Format abzurufen (d. H. Die Uhrzeit ist mit 00:00:00.00 Verknüpft). Ich habe die Funktion GETDATE() gefunden, die aber auch die aktuelle Uhrzeit und das Datum angibt. Ich möchte, dass das Datum im folgenden Format abgerufen wird: CurrentDate 00:00:00.00

Wie kann ich das bekommen?

70
Kamran Ahmed
SELECT CAST(GETDATE() AS DATE)

Gibt das aktuelle Datum mit entferntem Zeitteil zurück.

DATETIMEs werden nicht "im folgenden Format gespeichert". Sie werden in einem binären Format gespeichert.

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

Das Anzeigeformat in der Frage ist unabhängig von der Speicherung.

Die Formatierung in ein bestimmtes Anzeigeformat sollte von Ihrer Anwendung vorgenommen werden.

115
Martin Smith

Wenn Sie SQL Server 2008 verwenden, folgen Sie der Antwort von Martin.

Wenn Sie dies in SQL Server 2005 tun müssen, wo Sie keinen Zugriff auf den Spaltentyp Date haben, würde ich Folgendes verwenden:

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

SQLFiddle

15
Bridge