Du kan bruge T-SQL DATEFROMPARTS()
funktion i SQL Server for at returnere en dato værdi, der knytter sig til de datodele, du angiver som heltalsudtryk.
Den måde, det fungerer på, er, at du angiver tre værdier (en for hvert år). , måned , og dag værdier), og SQL Server returnerer en dato værdi baseret på de værdier, du angiver.
Eksempler nedenfor.
Syntaks
Først her er syntaksen:
DATEFROMPARTS ( year, month, day )
Her er, hvad hvert argument kan være:
year
- Et heltalsudtryk, der angiver et år.
month
- Et heltalsudtryk, der angiver en måned, fra 1 til 12.
day
- Et heltalsudtryk, der angiver en dag.
Eksempel
Her er et eksempel på brug:
SELECT DATEFROMPARTS( 2021, 05, 10 ) AS Result;
Resultat:
+------------+ | Result | |------------| | 2021-05-10 | +------------+
Ugyldige værdier
Du skal sikre dig, at datodelene leveres i den rigtige rækkefølge, ellers kan du ende med en fejl. Endnu værre, du får muligvis ikke en fejl (hvis dagdelen er 12 eller mindre), og du kan derfor gå glip af et stort problem med den måde, datoen er oversat på.
Her er et eksempel på en ugyldig værdi:
SELECT DATEFROMPARTS( 2021, 30, 10 ) AS Result;
Resultat:
Cannot construct data type date, some of the arguments have values which are not valid.
Dette sker, fordi vi leverede 30 som månedsdel. Denne del accepterer kun værdier mellem 1 og 12.
Nul-værdier
Hvis nogle af argumenterne er nulværdier, er resultatet NULL
.
Her er et eksempel med en nulværdi:
SELECT DATEFROMPARTS( 2021, NULL, 10 ) AS Result;
Resultat:
+----------+ | Result | |----------| | NULL | +----------+
Derfor siger det nok sig selv (men jeg siger det alligevel), at hvis alle argumenter er nulværdier, er resultatet NULL
:
SELECT DATEFROMPARTS( NULL, NULL, NULL ) AS Result;
Resultat:
+----------+ | Result | |----------| | NULL | +----------+