SQLShack (Italiano)

Questo articolo esplora la funzione SQL DATEADD e il suo utilizzo scenari con vari esempi.

Di solito, lavoriamo con il tipo di dati data in SQL Server. Dobbiamo anche manipolare le date. Nel mio precedente articolo DATEPART SQL FUNCTION, abbiamo esplorato per recuperare una parte specifica dalla data come giorno, anno, mese, trimestre, giorno dellanno.

Possiamo utilizzare la funzione SQL SERVER DATEADD per aggiungere o sottrarre un periodo specifico da una data.

Sintassi

DATEADD (datepart, number, date)

  • Datepart: Specifica la parte della data in cui vogliamo aggiungere o sottrarre un intervallo di tempo specifico. Può avere valori come anno, mese, giorno e settimana. Esploreremo di più in questo nella sezione di esempio
  • Numero: è il numero di cui vogliamo aumentare o diminuire la data. Dovrebbe essere un numero intero
  • Data: possiamo specificare la data qui. In questa data, vogliamo aggiungere un numero specificato su datepart

Supponiamo di voler aggiungere dieci giorni alla data corrente. In questo esempio, le variabili sarebbero

  • Datepart value: Day
  • Number: 5
  • Date: Getdate () – Current date

Esplora la funzione SQL SERVER DATEADD con esempi

Tipi di dati nella funzione SQL SERVER DATEADD

Possiamo utilizzare il seguente tipo di dati nellespressione date.

  • data
  • DateTime
  • datetimeoffset
  • datetime2
  • smalldatetime
  • time

Nella seguente query, abbiamo dichiarato una variabile @date con un tipo di dati datetime2. Possiamo utilizzare la funzione SQL DATEADD come da query seguente.

Utilizzando la funzione SQL SERVER DATEADD per ottenere record da un tabella nellintervallo di date specificato

È possibile utilizzare la funzione SQL DATEADD per recuperare i record da una tabella per un periodo. Nella seguente query, abbiamo specificato una data con il parametro @Startdate. Vogliamo recuperare i record dalla tabella degli ordini. Dobbiamo ottenere record tra @StartDate e @Enddate (aggiungere 1 ora nella data di inizio).

Otteniamo il seguente output.

Utilizzo della funzione SQL SERVER DATEADD per ottenere la differenza di data o ora

Possiamo utilizzare la funzione SQL DATEADD per ottenere la differenza di orario tra la data di inizio e la data di fine. Molte volte, si desidera utilizzare la funzione SQL SERVER DATEADD per ottenere la differenza di data. Ad esempio, vogliamo sapere quanto tempo ci è voluto per completare un ordine o quanto tempo ci è voluto per raggiungerlo da casa allufficio.

Esegui la seguente query per ottenere la differenza tra ora di inizio e ora di fine. Usiamo la funzione SQL DATEADD insieme alla funzione SQL DATEDIFF.

Fornisce il tempo trascorso in minuti. Abbiamo specificato il valore 0 nella funzione SQL DateADD. Richiede il valore della data 1900-01-01 00: 00: 00.000

Possiamo utilizzare il formato della data di conversione SQL per rappresentarlo in formato HH: MM: SS.

Fornisce la differenza di orario nel formato HH: MM: SS come mostrato nellimmagine seguente.

Specifica il risultato della funzione SQL SERVER DATEADD come una nuova colonna

Possiamo utilizzare la funzione SQL SERVER DATEADD per ottenere una nuova colonna dopo aver aggiunto il valore di data richiesto. Nella seguente query, vogliamo aggiungere due giorni nella data di inizio e rappresentarla come una nuova colonna.

Scalare sottoquery e funzioni scalari nella funzione SQL DATEADD

Possiamo usare la funzione SQL SERVER DATEADD anche con sottoquery scalari e funzioni scalari. Nella seguente query, vogliamo aggiungere il numero di giorni nel valore della data massima di LastEditedWhen nella tabella Sales.orders.

La prima sottoquery fornisce il numero 16496 e la seconda sottoquery fornisce una data. Abbiamo utilizzato la funzione SQL SERVER DATEADD per aggiungere il numero di giorni e otteniamo il seguente output.

Espressioni numeriche nel Funzione SQL SERVER DATEADD

Possiamo usare anche espressioni numeriche nella funzione SQL SERVER DATEADD. Nella seguente query, utilizziamo unespressione numerica per calcolare il numero e fornirci un output.

1
2
3

SELEZIONA GETDATE () AS CurrentDate,
DATEADD (month, – (12/6), GETDATE ()) AS ModifiedDate;

Uso di DATEADD con la funzione Rank

Possiamo usare anche la funzione SQL DATEADD in una funzione di rank. Possiamo usarlo per largomento numero. Nella seguente query, è possibile vedere la funzione Row_Number () per utilizzare il parametro numerico ei valori come parametro della data.

Conclusione

In questo articolo, abbiamo esplorato vari usi ed esempi della funzione SQL DATEADD. Ci consente di aggiungere o sottrarre i valori datepart dalla data specificata. Spero che questo articolo ti piaccia. Sentiti libero di fornire un feedback nei commenti di seguito.

  • Autore
  • Post recenti
In qualità di Trainer certificato MCSA e Microsoft Certified a Gurgaon, India, con 13 anni di esperienza, Rajendra lavora per una serie di grandi aziende concentrandosi su ottimizzazione delle prestazioni, monitoraggio, alta disponibilità e strategie e implementazione di ripristino di emergenza. È autore di centinaia di articoli autorevoli su SQL Server, Azure, MySQL, Linux, Power BI, Performance tuning, AWS / Amazon RDS, Git e tecnologie correlate che sono stati visualizzati da oltre 10 milioni di lettori fino ad oggi.
È lautore di una delle più grandi raccolte online gratuite di articoli su un singolo argomento, con la sua serie di 50 parti sui gruppi di disponibilità Always On di SQL Server. Sulla base del suo contributo alla comunità di SQL Server, è stato riconosciuto con vari premi tra cui il prestigioso “Miglior autore dellanno” ininterrottamente nel 2020 e 2021 a SQLShack.
Raj è sempre interessato a nuove sfide, quindi se hai bisogno di consulenza aiuto su qualsiasi argomento trattato nei suoi scritti, può essere raggiunto a [email protected]
Visualizza tutti i post di Rajendra Gupta

Ultimi post di Rajendra Gupta (vedi tutti)
  • Esecuzione di aggiornamenti delle versioni minori e principali per AWS RDS SQL Server – 29 gennaio 2021
  • Distribuzione di istanze PostgreSQL di AWS RDS – 27 gennaio 2021
  • Migrazione dei database SQL locali ad AWS RDS SQL Server utilizzando AWS DMS – 25 gennaio , 2021

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *