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

GETDATE()-Beispiele in SQL Server (T-SQL)

Das GETDATE() 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.

Dieser Artikel enthält Beispiele für GETDATE() -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

Hier ist zunächst die Syntax:

GETDATE ( )

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 GETDATE() zurückzugeben :

SELECT GETDATE() AS Result;

Ergebnis:

+-------------------------+
| Result                  |
|-------------------------|
| 2018-06-15 23:54:42.013 |
+-------------------------+

Wie bereits erwähnt, gibt es eine datetime zurück Wert. Wenn Sie einen Wert mit mehr Sekundenbruchteilen wünschen, verwenden Sie SYSDATETIME() stattdessen. Diese Funktion gibt ein datetime2 zurück Wert.

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, GETDATE()) AS Result;

Ergebnis:

+----------+
| Result   |
|----------|
| 6        |
+----------+

Manchmal gibt es mehrere Möglichkeiten, um in SQL Server dasselbe Ergebnis zu erhalten. Hier ist ein weiteres Beispiel mit MONTH() Funktion:

SELECT MONTH(GETDATE()) 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, GETDATE()) 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(GETDATE(), 'd', 'en-US') AS 'd, en-US',
    FORMAT(GETDATE(), 'd', 'en-gb') AS 'd, en-gb',
    FORMAT(GETDATE(), 'D', 'en-US') AS 'D, en-US',
    FORMAT(GETDATE(), 'D', 'en-gb') AS 'D, en-gb';

Ergebnis:

+------------+------------+-----------------------+--------------+
| d, en-US   | d, en-gb   | D, en-US              | D, en-gb     |
|------------+------------+-----------------------+--------------|
| 6/15/2018  | 15/06/2018 | Friday, June 15, 2018 | 15 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 = GETDATE();
DECLARE @date2 datetime2 = DATEADD(month, 1, GETDATE());
SELECT DATEDIFF(day, @date1, @date2) AS Result;

Ergebnis:

+----------+
| Result   |
|----------|
| 30       |
+----------+