Vous pouvez utiliser le T-SQL DATEFROMPARTS()
fonction dans SQL Server pour renvoyer une date valeur qui correspond aux parties de date que vous fournissez sous forme d'expressions entières.
La façon dont cela fonctionne est que vous fournissez trois valeurs (une pour chacune des année , mois , et jour valeurs), et SQL Server renverra une date valeur basée sur les valeurs que vous fournissez.
Exemples ci-dessous.
Syntaxe
Tout d'abord, voici la syntaxe :
DATEFROMPARTS ( year, month, day )
Voici ce que chaque argument peut être :
year
- Une expression entière qui spécifie une année.
month
- Une expression entière qui spécifie un mois, de 1 à 12.
day
- Une expression entière qui spécifie un jour.
Exemple
Voici un exemple d'utilisation :
SELECT DATEFROMPARTS( 2021, 05, 10 ) AS Result;
Résultat :
+------------+ | Result | |------------| | 2021-05-10 | +------------+
Valeurs invalides
Vous devrez vous assurer que les parties de date sont fournies dans le bon ordre, sinon vous pourriez vous retrouver avec une erreur. Pire encore, vous n'obtiendrez peut-être pas d'erreur (si la portion de jour est de 12 ou moins) et vous pourriez donc manquer un problème majeur avec la façon dont la date est traduite.
Voici un exemple de valeur non valide :
SELECT DATEFROMPARTS( 2021, 30, 10 ) AS Result;
Résultat :
Cannot construct data type date, some of the arguments have values which are not valid.
Cela se produit parce que nous avons fourni 30 comme mois. Cette partie n'acceptera que des valeurs comprises entre 1 et 12.
Valeurs nulles
Si l'un des arguments est une valeur nulle, le résultat est NULL
.
Voici un exemple utilisant une valeur nulle :
SELECT DATEFROMPARTS( 2021, NULL, 10 ) AS Result;
Résultat :
+----------+ | Result | |----------| | NULL | +----------+
Par conséquent, il va probablement sans dire (mais je le dirai quand même), que si tous les arguments sont des valeurs nulles, le résultat est NULL
:
SELECT DATEFROMPARTS( NULL, NULL, NULL ) AS Result;
Résultat :
+----------+ | Result | |----------| | NULL | +----------+