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

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

Le T-SQL TIMEFROMPARTS() la fonction vous permet de construire un temps valeur des différentes parties du temps. Vous pouvez également spécifier la précision de la valeur de retour.

Vous trouverez ci-dessous des exemples de fonctionnement de cette fonction.

Syntaxe

La syntaxe ressemble à ceci :

TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )

Où les 4 premiers arguments sont des expressions entières spécifiant cette partie de temps particulière. Le 5ème argument est un entier littéral spécifiant la précision de l'heure valeur à renvoyer.

Exemple

Voici un exemple pour illustrer.

SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, 7 ) AS Result;

Résultat :

+------------------+
| Result           |
|------------------|
| 23:35:29.1234567 |
+------------------+

Dans ce cas, j'ai spécifié une valeur de précision de 7.

Pour être plus précis (sans jeu de mots), l'argument de précision spécifie en fait l'échelle . Échelle est le nombre de chiffres à droite de la virgule décimale. Précision est le nombre total de chiffres.

Arguments invalides

Si l'un des arguments n'est pas valide, une erreur se produit. Exemple :

SELECT TIMEFROMPARTS( 23, 35, 61, 1234567, 7 ) AS Result;

Résultat :

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

Dans ce cas, j'ai fourni une minute argument de 61 .

Nombre d'arguments

Une erreur se produira également si vous ne fournissez pas le nombre correct d'arguments. Exemple :

SELECT TIMEFROMPARTS( 23, 35, 29, 7 ) AS Result;

Résultat :

The timefromparts function requires 5 argument(s).

Valeurs nulles

Si l'un des 4 premiers arguments est nul, le résultat est NULL :

SELECT TIMEFROMPARTS( 23, 35, NULL, 1234567, 7 ) AS Result;

Résultat :

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

Cependant, si le 5ème argument (précision ) est nul, une erreur se produit :

SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, NULL ) AS Result;

Résultat :

Scale argument is not valid. Valid expressions for data type time scale argument are integer constants and integer constant expressions.

Distance

Microsoft déclare que le TIMEFROMPARTS() La fonction peut être distante vers les serveurs SQL Server 2012 (11.x) et versions ultérieures. Il ne peut pas être distant vers des serveurs dont la version est inférieure à SQL Server 2012 (11.x).

Une fonction similaire

Consultez également les exemples SMALLDATETIMEFROMPARTS() dans SQL Server (T-SQL) pour obtenir un smalldatetime valeur au lieu d'une heure valeur.