In diesem Artikel werden die DATEADD SQL-Funktion und ihre Verwendung erläutert Szenarien mit verschiedenen Beispielen.
Normalerweise arbeiten wir mit dem Datumsdatentyp in SQL Server. Wir müssen auch Manipulationen mit Datumsangaben vornehmen. In meinem vorherigen Artikel DATEPART SQL FUNCTION haben wir untersucht, wie bestimmte Teile aus dem Datum wie Tag, Jahr, Monat, Quartal, Tag des Jahres abgerufen werden können.
Mit der Funktion SQL SERVER DATEADD können Sie einen bestimmten Zeitraum zu einem angegebenen Datum hinzufügen oder davon abziehen.
Syntax
DATEADD (Datumsteil, Nummer, Datum)
- Datumsteil: Gibt den Teil des Datums an, in dem ein bestimmtes Zeitintervall hinzugefügt oder abgezogen werden soll. Es kann Werte wie Jahr, Monat, Tag und Woche haben. Weitere Informationen hierzu finden Sie im Beispielabschnitt
- Nummer: Dies ist die Nummer, um die wir das Datum erhöhen oder verringern möchten. Es sollte eine Ganzzahl sein.
- Datum: Hier können wir das Datum angeben. An diesem Datum möchten wir eine bestimmte Nummer am Datum hinzufügen.
Angenommen, wir möchten dem aktuellen Datum zehn Tage hinzufügen. In diesem Beispiel wären die Variablen
- Datumsteilwert: Tag
- Nummer: 5
- Datum: Getdate () – Aktuelles Datum
Untersuchen Sie die SQL SERVER DATEADD-Funktion anhand von Beispielen.
Datentypen in der SQL SERVER DATEADD-Funktion
Wir können den folgenden Datentyp im Datumsausdruck verwenden.
- Datum
- DateTime
- datetimeoffset
- datetime2
- smalldatetime
- time
In der folgenden Abfrage haben wir eine Variable @date mit dem Datentyp datetime2 deklariert. Wir können die DATEADD SQL-Funktion gemäß der folgenden Abfrage verwenden.
Verwenden der SQL SERVER DATEADD-Funktion, um Datensätze von a abzurufen Tabelle im angegebenen Datumsbereich
Mit der DATEADD SQL-Funktion können Sie Datensätze für einen bestimmten Zeitraum aus einer Tabelle abrufen. In der folgenden Abfrage haben wir ein Datum mit dem Parameter @Startdate angegeben. Wir möchten Datensätze aus der Tabelle „Bestellungen“ abrufen. Wir müssen Datensätze zwischen @StartDate und @Enddate abrufen (1 Stunde Startdatum hinzufügen).
Wir erhalten die folgende Ausgabe.
Verwenden der SQL SERVER DATEADD-Funktion zum Abrufen der Datums- oder Zeitdifferenz
Mit der DATEADD SQL-Funktion können Sie die Zeitdifferenz zwischen dem Startdatum und dem Enddatum ermitteln. Oft möchten wir die SQL SERVER DATEADD-Funktion verwenden, um Datumsunterschiede zu ermitteln. Wir möchten beispielsweise wissen, wie lange es gedauert hat, eine Bestellung abzuschließen, oder wie lange es gedauert hat, von zu Hause ins Büro zu gelangen.
Führen Sie die folgende Abfrage aus, um den Unterschied zwischen Start- und Endzeit zu ermitteln. Wir verwenden die DATEADD SQL-Funktion zusammen mit der DATEDIFF SQL-Funktion.
Sie gibt die verstrichene Zeit in Minuten an. Wir haben den Wert 0 in der DateADD SQL-Funktion angegeben. Es nimmt den Datumswert 1900-01-01 00: 00: 00.000
an. Wir können das Datumsformat SQL Convert verwenden, um dies darzustellen im HH: MM: SS-Format.
Gibt den Zeitunterschied im HH: MM: SS-Format an, wie im folgenden Bild gezeigt.
Geben Sie das Ergebnis der SQL SERVER DATEADD-Funktion als neue Spalte an.
Mit der SQL SERVER DATEADD-Funktion können Sie eine neue Spalte abrufen, nachdem Sie den erforderlichen Datumswert hinzugefügt haben. In der folgenden Abfrage möchten wir zwei Tage zum Startdatum hinzufügen und diese als neue Spalte darstellen.
Skalar Unterabfragen und Skalarfunktionen in der DATEADD-SQL-Funktion
Wir können die SQL-SERVER-DATEADD-Funktion auch mit skalaren Unterabfragen und Skalarfunktionen verwenden. In der folgenden Abfrage möchten wir die Anzahl der Tage zum maximalen Datumswert von LastEditedWhen in der Tabelle „Sales.orders“ hinzufügen.
Die erste Unterabfrage gibt die Nummer 16496 an und die zweite Unterabfrage gibt ein Datum an. Wir haben die SQL SERVER DATEADD-Funktion verwendet, um die Anzahl der Tage hinzuzufügen, und wir erhalten die folgende Ausgabe.
Numerische Ausdrücke in der SQL SERVER DATEADD-Funktion
Wir können auch numerische Ausdrücke in der SQL SERVER DATEADD-Funktion verwenden. In der folgenden Abfrage verwenden wir einen numerischen Ausdruck, um die Zahl zu berechnen und eine Ausgabe zu erhalten.
1
2
3
|
SELECT GETDATE () AS CurrentDate,
DATEADD (Monat, – (12/6), GETDATE ()) AS ModifiedDate;
|
Verwenden von DATEADD mit der Rangfunktion
Wir können die DATEADD-SQL-Funktion auch in einer Rangfunktion verwenden. Wir können es für das Zahlenargument verwenden. In der folgenden Abfrage sehen Sie die Funktion Row_Number (), mit der der Zahlenparameter und die Werte als Datumsparameter verwendet werden.
Schlussfolgerung
In diesem Artikel haben wir verschiedene Verwendungen und Beispiele der DATEADD SQL-Funktion untersucht. Es ermöglicht uns, Datumsteilwerte vom angegebenen Datum zu addieren oder zu subtrahieren. Ich hoffe dir gefällt dieser Artikel. Fühlen Sie sich frei, Feedback in den Kommentaren unten zu geben.
- Autor
- Letzte Beiträge
Mit seiner 50-teiligen Serie zu SQL Server Always On Availability Groups ist er der Schöpfer einer der größten kostenlosen Online-Artikelsammlungen zu einem einzigen Thema. Aufgrund seines Beitrags zur SQL Server-Community wurde er mit verschiedenen Preisen ausgezeichnet, darunter der renommierte „Beste Autor des Jahres“ in den Jahren 2020 und 2021 bei SQLShack.
Raj ist immer an neuen Herausforderungen interessiert, wenn Sie also Beratung benötigen Hilfe zu jedem Thema, das in seinen Schriften behandelt wird, kann unter [email protected] erreicht werden.
Alle Beiträge von Rajendra Gupta anzeigen
- Durchführen kleinerer und größerer Versions-Upgrades für AWS RDS SQL Server – 29. Januar 2021
- Bereitstellen von AWS RDS PostgreSQL-Instanzen – 27. Januar 2021
- Migrieren Ihrer lokalen SQL-Datenbanken zu AWS RDS SQL Server mithilfe von AWS DMS – 25. Januar , 2021