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 | +----------+