Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

CURRENT_TIMESTAMP-Beispiele in SQL Server (T-SQL)

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