Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

DATETIMEFROMPARTS() Exemples dans SQL Server (T-SQL)

Dans SQL Server, le DATETIMEFROMPARTS() la fonction fonctionne exactement comme le DATEFROMPARTS() fonction, sauf qu'elle renvoie également la partie heure de la date.

Le DATETIMEFROMPARTS() La fonction accepte sept arguments, chacun représentant une partie différente de la date/heure. La fonction renvoie ensuite une datetime valeur des parties données.

Syntaxe

Voici comment fonctionne la syntaxe :

DATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds )

Où chaque argument est une expression entière qui spécifie cette partie de la date. Par exemple, year est un entier qui spécifie la partie année de la date.

Exemple

Voici un exemple qui montre comment cela fonctionne :

SELECT DATETIMEFROMPARTS( 2021, 05, 10, 23, 35, 29, 500 ) AS Result;

Résultat :

+-------------------------+
| Result                  |
|-------------------------|
| 2021-05-10 23:35:29.500 |
+-------------------------+

Vous pouvez donc voir que chacun de nos arguments apparaît dans la partie applicable du résultat.

Valeurs invalides

Les valeurs doivent être comprises dans une plage valide pour cette partie de date particulière. Par exemple, vous ne pouvez pas spécifier une partie d'heure à 30 (elle doit être comprise entre 0 et 24). Exemple :

SELECT DATETIMEFROMPARTS( 2021, 05, 10, 30, 35, 29, 500 ) AS Result;

Résultat :

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

Nombre d'arguments

Vous devez également fournir le nombre correct d'arguments (7). Si vous ne le faites pas, vous recevrez un message d'erreur expliquant ceci :

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

Résultat :

The datetimefromparts function requires 7 argument(s). 

Valeurs nulles

Si l'un des arguments est une valeur nulle, le résultat est NULL :

SELECT DATETIMEFROMPARTS( 2021, 05, 10, NULL, 35, 29, 500 ) AS Result;

Résultat :

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