TIMEFROMPARTS (Transact-SQL)
Retourne une valeur time pour l'heure spécifiée et avec la précision spécifiée.
Conventions de la syntaxe Transact-SQL
Syntaxe
TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )
Arguments
hour
Expression entière spécifiant des heures.minute
Expression entière spécifiant des minutes.seconds
Expression entière spécifiant des secondes.fractions
Expression entière spécifiant des fractions.precision
Littéral entier spécifiant la précision de la valeur time à retourner.
Type des valeurs retournées
time ( precision )
Notes
TIME retourne une valeur temporelle complètement initialisée. Si les arguments ne sont pas valides, une erreur est générée. Si l'un des paramètres est NULL, la valeur NULL est retournée. Toutefois, si l'argument precision est NULL, une erreur est générée.
L'argument fractions dépend de l'argument precision. Par exemple, si precision est 7, chaque fraction représente 100 nanosecondes ; si precision est 3, chaque fraction représente une milliseconde. Si la valeur de precision est zéro, la valeur de fractions doit également être zéro ; sinon, une erreur est générée.
Cette fonction peut être exécutée à distance sur des serveurs SQL Server 2012 et versions ultérieures. Elle ne peut pas être exécutée à distance sur des serveurs dont la version est antérieure à SQL Server 2012.
Exemples
A.Exemple simple sans fractions de seconde
SELECT TIMEFROMPARTS ( 23, 59, 59, 0, 0 ) AS Result;
Voici l'ensemble des résultats.
Result
--------------------
23:59:59.0000000
(1 row(s) affected)
B.Exemple avec fractions de seconde
L'exemple suivant illustre l'utilisation des paramètres fractions et precision :
Lorsque fractions a la valeur 5 et precision la valeur 1, la valeur de fractions représente 5/10 de seconde.
Lorsque fractions a la valeur 50 et precision la valeur 2, la valeur de fractions représente 50/100 de seconde.
Lorsque fractions a la valeur 500 et precision la valeur 3, la valeur de fractions représente 500/1000 de seconde.
SELECT TIMEFROMPARTS ( 14, 23, 44, 5, 1 )
SELECT TIMEFROMPARTS ( 14, 23, 44, 50, 2 );
SELECT TIMEFROMPARTS ( 14, 23, 44, 500, 3 );
GO
Voici l'ensemble des résultats.
----------------
14:23:44.5
(1 row(s) affected)
----------------
14:23:44.50
(1 row(s) affected)
----------------
14:23:44.500
(1 row(s) affected)