Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

DATEFROMPARTS() Esempi in SQL Server (T-SQL)

Puoi usare T-SQL DATEFROMPARTS() funzione in SQL Server per restituire una data valore associato alle parti della data fornite come espressioni intere.

Il modo in cui funziona è fornire tre valori (uno per ciascuno degli anno , mese e giorno valori) e SQL Server restituirà una data valore in base ai valori forniti.

Esempi sotto.

Sintassi

Innanzitutto, ecco la sintassi:

DATEFROMPARTS ( year, month, day )

Ecco cosa può essere ogni argomento:

year
Un'espressione intera che specifica un anno.
month
Un'espressione intera che specifica un mese, da 1 a 12.
day
Un'espressione intera che specifica un giorno.

Esempio

Ecco un esempio di utilizzo:

SELECT DATEFROMPARTS( 2021, 05, 10 ) AS Result;

Risultato:

+------------+
| Result     |
|------------|
| 2021-05-10 |
+------------+

Valori non validi

Dovrai assicurarti che le parti della data siano fornite nell'ordine corretto, altrimenti potresti finire con un errore. Peggio ancora, potresti non ricevere un errore (se la parte del giorno è 12 o meno), e quindi potresti perdere un grosso problema con il modo in cui viene tradotta la data.

Ecco un esempio di un valore non valido:

SELECT DATEFROMPARTS( 2021, 30, 10 ) AS Result;

Risultato:

Cannot construct data type date, some of the arguments have values which are not valid. 

Ciò si verifica perché abbiamo fornito 30 come parte del mese. Questa parte accetterà solo valori compresi tra 1 e 12.

Valori Nulli

Se uno qualsiasi degli argomenti è un valore nullo, il risultato è NULL .

Ecco un esempio che utilizza un valore nullo:

SELECT DATEFROMPARTS( 2021, NULL, 10 ) AS Result;

Risultato:

+----------+
| Result   |
|----------|
| NULL     |
+----------+

Pertanto, probabilmente è ovvio (ma lo dirò comunque), che se tutti gli argomenti sono valori nulli, il risultato è NULL :

SELECT DATEFROMPARTS( NULL, NULL, NULL ) AS Result;

Risultato:

+----------+
| Result   |
|----------|
| NULL     |
+----------+