Funzione DatePart SQL Server

Funzione DatePart SQL Server
Occasionalmente, potremmo aver bisogno di recuperare una parte di una data, ad esempio un giorno, un mese o un anno, da una tabella in un database SQL Server. La funzione DatePart ci fornisce quella funzionalità, come vedremo in questa guida.

La base di questo articolo è di fornirti le basi del lavoro con la funzione DatePart SQL Server.

Uso di base

La funzione DatePart consente di recuperare parte dell'anno, del mese o del giorno. La funzione restituisce parte della data come valore intero.

La sintassi della funzione è come:

datePart (unità, date_value);

Argomenti della funzione

La funzione DatePart accetta due argomenti:

1. Unità: questo rappresenta quale parte della data SQL Server dovrebbe recuperare. I valori accettati in questo argomento sono come mostrati nella tabella seguente:

abbreviazione dell'unità
-------------------------------------------------- ------------
nanosecondi NS
Microsecondi MCS
millisecondo MS
Second S, SS
Minuto mi, n
Ora hh
Settimana WK, WW
Giorno dd, d
Giorno dell'anno, dy, y
Mese mm, m
Quarto QQ, Q
ANNO YY, YYYY
(12 righe interessate)

2. Date_Value - rappresenta la data di input da cui per recuperare la parte specificata.

Tipo di ritorno della funzione

Come accennato, la funzione restituisce la parte estratta di una data come tipo intero. La funzione può estrarre solo l'anno, il mese e la data da una data di input specifica.

Esempi di SQL Server DatePart ()

Vediamo vari esempi di utilizzo della funzione da datapart per capire meglio come usarla in uno script t-SQL.

Esempio 1:

L'esempio seguente mostra come utilizzare la funzione DatePart per recuperare un anno dalla data specificata.

Seleziona DatePart (anno, '2021-12-31') come anno;

La query sopra dovrebbe restituire la parte della data che rappresenta un anno.

L'output di esempio è come mostrato:

ANNO
-----------
2021

Esempio 2:

In questo esempio, utilizziamo la funzione DatePart per recuperare parti di una data in varie unità.

Dichiarare @input_date datetime2 = current_timestamp;
Seleziona DatePart (anno, @input_date) come anno,
DatePart (trimestre, @input_date) come trimestre,
DatePart (mese, @input_date) come mese,
DatePart (DayOfyear, @Input_date) come DayOfyear,
DatePart (giorno, @input_date) come giorno,
DatePart (settimana, @input_date) come settimana,
DatePart (ora, @input_date) come ora,
DatePart (minuto, @input_date) come minuto,
DatePart (secondo, @input_date) come secondo,
DatePart (millisecond, @input_date) come millisecond,
DatePart (microsecond, @Input_date) come microsecondo,
DatePart (nanosecondo, @input_date) come nanosecondo;

La query sopra utilizza l'attuale timestamp per estrarre varie unità utilizzando la funzione DatePart.

I valori risultanti sono come mostrati:

Esempio 3

Possiamo anche usare la data da database in un vero database. Ad esempio, la query di seguito estrae l'anno da una colonna:

Usa WideWorldImporters;
Seleziona Top 10 DatePart (giorno, attesoredeliverydate) come giorno dalle vendite.Ordini
Dove previsto la data di consegna non è nullo;

In questo esempio, utilizziamo la funzione DatePart per ottenere il giorno della data di consegna prevista.

Pensieri finali.

Questa guida ti aiuta a esplorare la funzionalità della funzione DatePart SQL Server. Utilizzando la funzione DatePart, è possibile estrarre varie unità di data e usarle in altre colonne.

Speriamo che ti sia piaciuto il tutorial. Resta sintonizzato per ulteriori informazioni.