Acest articol explorează funcția SQL DATEADD și utilizarea acesteia scenarii cu diverse exemple.
De obicei, lucrăm cu tipul de date date în SQL Server. Trebuie să facem și manipulări cu curmale. În articolul meu anterior FUNCȚIA SQL DATEPART, am explorat recuperarea unei părți specifice din data, cum ar fi ziua, anul, luna, trimestrul, ziua anului.
Putem folosi funcția SQL SERVER DATEADD pentru a adăuga sau scădea o anumită perioadă dintr-o dată dată.
Sintaxă
DATEADD (datapart, number, date)
- Datepart: specifică partea din dată în care dorim să adăugăm sau să scădem un anumit interval de timp. Poate avea valori precum anul, luna, ziua și săptămâna. Vom explora mai multe în acest sens în secțiunea de exemplu
- Număr: este numărul cu care dorim să mărim sau să micșorăm data. Ar trebui să fie un număr întreg
- Data: Putem specifica data aici. În această dată, dorim să adăugăm un număr specificat la datapart
Să presupunem că dorim să adăugăm zece zile la data curentă. În acest exemplu, variabilele ar fi
- Valoarea datei: Ziua
- Numărul: 5
- Data: Getdate () – Data curentă
Explorează funcția SQL SERVER DATEADD cu exemple
Tipuri de date în funcția SQL SERVER DATEADD
Putem utiliza următorul tip de date în expresia datei.
- data
- DateTime
- datetimeoffset
- datetime2
- smalldatetime
- time
În următoarea interogare, am declarat o variabilă @date având un tip de date datetime2. Putem utiliza funcția SQL DATEADD conform următoarei interogări.
Utilizarea funcției SQL SERVER DATEADD pentru a obține înregistrări de la un tabel în intervalul de date specificat
Putem folosi funcția SQL DATEADD pentru a prelua înregistrări dintr-un tabel pentru o perioadă. În următoarea interogare, am specificat o dată cu parametrul @Startdate. Vrem să preluăm înregistrări din tabelul Comenzi. Trebuie să obținem înregistrări între @StartDate și @Enddate (adăugați 1 oră la data de începere).
Obținem următoarea ieșire.
Utilizarea funcției SQL SERVER DATEADD pentru a obține diferența de dată sau oră
Putem folosi funcția SQL DATEADD pentru a obține diferența de timp între data de începere și data de încheiere. De multe ori, dorim să folosim funcția SQL SERVER DATEADD pentru a obține diferența de dată. De exemplu, vrem să știm cât a durat finalizarea unei comenzi sau cât a durat să ajungă de acasă la birou.
Executați următoarea interogare pentru a obține diferența dintre ora de început și ora de sfârșit. Folosim funcția SQL DATEADD împreună cu funcția SQL DATEDIFF.
Oferă timpul scurs în minute. Am specificat valoarea 0 în funcția DateADD SQL. Este nevoie de valoarea datei 1900-01-01 00: 00: 00.000
Putem utiliza formatul de dată SQL Convert pentru a reprezenta acest lucru în format HH: MM: SS.
Oferă diferența de timp în formatul HH: MM: SS așa cum se arată în următoarea imagine.
Specificați rezultatul funcției SQL SERVER DATEADD ca o nouă coloană
Putem folosi funcția SQL SERVER DATEADD pentru a obține o nouă coloană după adăugarea valorii datei necesare. În următoarea interogare, dorim să adăugăm două zile la data de început și să o reprezentăm ca o nouă coloană.
Scalar interogări secundare și funcții scalare în funcția SQL DATEADD
Putem utiliza funcția SQL SERVER DATEADD cu subinterogări scalare și funcții scalare. În următoarea interogare, dorim să adăugăm numărul de zile în valoarea maximă a datei LastEditedWhen în tabelul Sales.orders.
Prima interogare dă numărul 16496, iar a doua interogare secundară oferă o dată. Am folosit funcția SQL SERVER DATEADD pentru a adăuga numărul de zile și obținem următoarea ieșire.
Expresii numerice în Funcția SQL SERVER DATEADD
Putem folosi și expresii numerice în funcția SQL SERVER DATEADD. În următoarea interogare, folosim o expresie numerică pentru a calcula numărul și pentru a ne da o ieșire.
1
2
3
|
SELECT GETDATE () AS CurrentDate,
DATEADD (luna, – (12/6), GETDATE ()) AS ModifiedDate;
|
Utilizarea DATEADD cu funcția Rank
Putem folosi funcția SQL DATEADD și într-o funcție de rang. Îl putem folosi pentru argumentul numărului. În următoarea interogare, puteți vedea funcția Row_Number () pentru a utiliza parametrul număr și valorile ca parametru de dată.
Concluzie
În acest articol, am explorat diverse utilizări și exemple ale funcției SQL DATEADD. Ne permite să adăugăm sau să scădem valorile datepart din data specificată. Sper să vă placă acest articol. Simțiți-vă liber să oferiți feedback în comentariile de mai jos.
- Autor
- Postări recente
El este creatorul uneia dintre cele mai mari colecții online gratuite de articole pe un singur subiect, cu seria sa de 50 de părți despre SQL Server Always On Availability Groups. Pe baza contribuției sale la comunitatea SQL Server, a fost recunoscut cu diverse premii, inclusiv prestigiosul „Cel mai bun autor al anului” continuu în 2020 și 2021 la SQLShack.
Raj este mereu interesat de noi provocări, deci dacă aveți nevoie de consultanță ajutor cu privire la orice subiect acoperit în scrierile sale, el poate fi contactat la [email protected]
Vezi toate mesajele lui Rajendra Gupta
- Efectuarea actualizărilor versiunilor minore și majore pentru AWS RDS SQL Server – 29 ianuarie 2021
- Implementarea instanțelor AWS RDS PostgreSQL – 27 ianuarie 2021
- Migrarea bazelor de date SQL locale la AWS RDS SQL Server utilizând AWS DMS – 25 ianuarie , 2021