Der CURRENT_TIMESTAMP
Funktion gibt das aktuelle Datum und die Uhrzeit als datetime zurück Wert. Dieser Wert wird vom Betriebssystem des Computers abgeleitet, auf dem die Instanz von SQL Server ausgeführt wird.
Diese Funktion ist das ANSI-SQL-Äquivalent zu T-SQL GETDATE()
Funktion, sodass Sie die von Ihnen bevorzugte verwenden können. Beachten Sie, dass beide Funktionen einen niedrigeren Datumsbereich und eine niedrigere standardmäßige Bruchteilgenauigkeit als T-SQL SYSDATETIME()
haben Funktion (die ein datetime2(7) zurückgibt Wert).
Dieser Artikel enthält Beispiele für CURRENT_TIMESTAMP
-Funktion, einschließlich der Frage, wie Sie sie mit anderen Funktionen verwenden können, um den Wert zurückzugeben, an dem Sie interessiert sind.
Syntax
Die Syntax lautet wie folgt:
CURRENT_TIMESTAMP
Also rufen Sie diese Funktion einfach ohne Argumente auf.
Beispiel
Hier ist ein einfaches Beispiel für die Verwendung eines SELECT
-Anweisung, um das aktuelle Datum und die Uhrzeit von CURRENT_TIMESTAMP
zurückzugeben :
SELECT CURRENT_TIMESTAMP AS Result;
Ergebnis:
+-------------------------+ | Result | |-------------------------| | 2018-06-16 00:06:36.740 | +-------------------------+
Extrahieren Sie einen Teil des Datums
Wenn Sie nur einen Teil des Rückgabewerts möchten, können Sie DATEPART()
verwenden um nur den Teil des Datums/der Uhrzeit zurückzugeben, der Sie interessiert.
Beispiel:
SELECT DATEPART(month, CURRENT_TIMESTAMP) AS Result;
Ergebnis:
+----------+ | Result | |----------| | 6 | +----------+
Hier ist ein weiteres Beispiel mit MONTH()
Funktion. Das Ergebnis ist dasselbe.
SELECT MONTH(CURRENT_TIMESTAMP) AS Result;
Ergebnis:
+----------+ | Result | |----------| | 6 | +----------+
Beide Funktionen geben den aktuellen Monat zurück. Aber sie geben sie als Ganzzahl zurück, die die Monatsnummer darstellt.
Wenn Sie den Monatsnamen Name möchten stattdessen zurückgegeben, können Sie DATENAME()
verwenden :
SELECT DATENAME(month, CURRENT_TIMESTAMP) AS Result;
Ergebnis:
+----------+ | Result | |----------| | June | +----------+
Datum formatieren
Sie können auch andere T-SQL-Funktionen verwenden, um das Datum nach Bedarf zu formatieren.
Hier ist ein Beispiel für die Verwendung von FORMAT()
Funktion zum Formatieren des Ergebnisses:
SELECT FORMAT(CURRENT_TIMESTAMP, 'd', 'en-US') AS 'd, en-US', FORMAT(CURRENT_TIMESTAMP, 'd', 'en-gb') AS 'd, en-gb', FORMAT(CURRENT_TIMESTAMP, 'D', 'en-US') AS 'D, en-US', FORMAT(CURRENT_TIMESTAMP, 'D', 'en-gb') AS 'D, en-gb';
Ergebnis:
+------------+------------+-------------------------+--------------+ | d, en-US | d, en-gb | D, en-US | D, en-gb | |------------+------------+-------------------------+--------------| | 6/16/2018 | 16/06/2018 | Saturday, June 16, 2018 | 16 June 2018 | +------------+------------+-------------------------+--------------+
Weitere Beispiele finden Sie unter How to Format the Date and Time in SQL Server.
Wert erhöhen und den Unterschied finden
Sie können Funktionen wie DATEDIFF()
verwenden um die Differenz zwischen dem aktuellen Datum und einem anderen Datum zurückzugeben.
Hier ist ein Beispiel für die Verwendung von DATEADD()
um einen Monat zum aktuellen Datum hinzuzufügen und dann die Differenz in Tagen zu ermitteln:
DECLARE @date1 datetime2 = CURRENT_TIMESTAMP; DECLARE @date2 datetime2 = DATEADD(month, 1, CURRENT_TIMESTAMP); SELECT DATEDIFF(day, @date1, @date2) AS Result;
Ergebnis:
+----------+ | Result | |----------| | 30 | +----------+