SQLShack (Nederlands)

Dit artikel onderzoekt de DATEADD SQL-functie en het gebruik ervan scenarios met verschillende voorbeelden.

Meestal werken we met datatype datum in SQL Server. We moeten ook manipulaties uitvoeren met datums. In mijn vorige artikel DATEPART SQL FUNCTION hebben we onderzocht om een specifiek deel van de datum op te halen, zoals dag, jaar, maand, kwartaal, dag van het jaar.

We kunnen de functie SQL SERVER DATEADD gebruiken om een specifieke periode toe te voegen aan of af te trekken van een datum.

Syntaxis

DATEADD (datepart, number, date)

  • Datepart: het specificeert het deel van de datum waarin we een specifiek tijdsinterval willen optellen of aftrekken. Het kan waarden hebben zoals jaar, maand, dag en week. We zullen hierover meer onderzoeken in de voorbeeldsectie.
  • Getal: het is het getal waarmee we de datum willen verhogen of verlagen. Het moet een geheel getal zijn.
  • Datum: we kunnen hier de datum specificeren. In deze datum willen we een gespecificeerd nummer toevoegen aan datepart

Stel dat we tien dagen willen optellen bij de huidige datum. In dit voorbeeld zouden de variabelen zijn

  • Datepart-waarde: dag
  • Getal: 5
  • Datum: Getdate () – Huidige datum

Verken de SQL SERVER DATEADD-functie met voorbeelden

Gegevenstypen in de SQL SERVER DATEADD-functie

We kunnen het volgende gegevenstype gebruiken in datumexpressie.

  • date
  • DateTime
  • datetimeoffset
  • datetime2
  • smalldatetime
  • time

In de volgende zoekopdracht hebben we een variabele @date gedeclareerd met een datetime2 datatype. We kunnen de DATEADD SQL-functie gebruiken volgens de volgende query.

De SQL SERVER DATEADD-functie gebruiken om records van een tabel in opgegeven datumbereik

We kunnen de DATEADD SQL-functie gebruiken om records uit een tabel voor een periode op te halen. In de volgende query hebben we een datum gespecificeerd met parameter @Startdate. We willen records ophalen uit de tabel Orders. We hebben records nodig tussen @StartDate en @Enddate (voeg 1 uur toe aan de startdatum).

We krijgen de volgende uitvoer.

Gebruik van de SQL SERVER DATEADD-functie om het datum- of tijdsverschil te krijgen

We kunnen de DATEADD SQL-functie gebruiken om het tijdsverschil tussen de startdatum en de einddatum te krijgen. Vaak willen we de functie SQL SERVER DATEADD gebruiken om het datumverschil te krijgen. We willen bijvoorbeeld weten hoe lang het duurde om een bestelling te voltooien of hoe lang het duurde om van huis naar kantoor te komen.

Voer de volgende zoekopdracht uit om het verschil te zien tussen starttijd en eindtijd. We gebruiken de DATEADD SQL-functie samen met de DATEDIFF SQL-functie.

Het geeft de verstreken tijd in minuten. We hebben waarde 0 gespecificeerd in de DateADD SQL-functie. Het heeft datumwaarde 1900-01-01 00: 00: 00.000 nodig

We kunnen de datumnotatie SQL Convert gebruiken om dit weer te geven in UU: MM: SS-indeling.

Het geeft het tijdsverschil in UU: MM: SS-formaat zoals getoond in de volgende afbeelding.

Specificeer het resultaat van de SQL SERVER DATEADD-functie als een nieuwe kolom

We kunnen de SQL SERVER DATEADD-functie gebruiken om een nieuwe kolom te krijgen na het toevoegen van de vereiste datumwaarde. In de volgende zoekopdracht willen we twee dagen aan de startdatum toevoegen en dit voorstellen als een nieuwe kolom.

Scalair subquerys en scalaire functies in de DATEADD SQL-functie

We kunnen de SQL SERVER DATEADD-functie ook gebruiken met scalaire subquerys en scalaire functies. In de volgende query willen we het aantal dagen toevoegen aan de maximale datumwaarde van LastEditedWhen in de tabel Sales.orders.

De eerste subquery geeft het nummer 16496 en de tweede subquery geeft een datum. We hebben de functie SQL SERVER DATEADD gebruikt om het aantal dagen toe te voegen, en we krijgen de volgende uitvoer.

Numerieke uitdrukkingen in de SQL SERVER DATEADD-functie

We kunnen ook numerieke uitdrukkingen gebruiken in de SQL SERVER DATEADD-functie. In de volgende zoekopdracht gebruiken we een numerieke uitdrukking om het getal te berekenen en ons een uitvoer te geven.

1
2
3

SELECTEER GETDATE () AS CurrentDate,
DATEADD (maand, – (12/6), GETDATE ()) AS ModifiedDate;

DATEADD gebruiken met de Rank-functie

We kunnen de DATEADD SQL-functie ook in een rank-functie gebruiken. We kunnen het gebruiken voor het getalargument. In de volgende query ziet u de functie Row_Number () om de nummerparameter te gebruiken en de waarden als datumparameter.

Conclusie

In dit artikel hebben we verschillende toepassingen en voorbeelden van de DATEADD SQL-functie onderzocht. Hiermee kunnen we datapart-waarden toevoegen of aftrekken van de opgegeven datum. Ik hoop dat je dit artikel leuk vindt. Voel je vrij om feedback te geven in de reacties hieronder.

  • Auteur
  • Recente berichten
Als MCSA-gecertificeerde en Microsoft-gecertificeerde trainer in Gurgaon, India, met 13 jaar ervaring, werkt Rajendra voor een verscheidenheid aan grote bedrijven die zich richten op prestatie-optimalisatie, monitoring, hoge beschikbaarheid en strategieën en implementatie voor disaster recovery. Hij is de auteur van honderden gezaghebbende artikelen over SQL Server, Azure, MySQL, Linux, Power BI, Performance tuning, AWS / Amazon RDS, Git en gerelateerde technologieën die tot nu toe door meer dan 10 miljoen lezers zijn bekeken.
Hij is de maker van een van de grootste gratis online collecties met artikelen over een enkel onderwerp, met zijn 50-delige serie over SQL Server Always On Availability Groups. Op basis van zijn bijdrage aan de SQL Server-gemeenschap, werd hij bekroond met verschillende prijzen, waaronder de prestigieuze “Beste auteur van het jaar”, continu in 2020 en 2021 bij SQLShack.
Raj is altijd geïnteresseerd in nieuwe uitdagingen, dus als je advies nodig hebt hulp bij elk onderwerp dat in zijn geschriften aan bod komt, hij is te bereiken op [email protected]
Bekijk alle berichten van Rajendra Gupta

Laatste berichten door Rajendra Gupta (bekijk alle)
  • Kleine en grote versie-upgrades voor AWS uitvoeren RDS SQL Server – 29 januari 2021
  • Implementatie van AWS RDS PostgreSQL-instanties – 27 januari 2021
  • Migratie van uw on-premises SQL-databases naar AWS RDS SQL Server met behulp van AWS DMS – 25 januari , 2021

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *