DATETIME2FROMPARTS (Transact-SQL)
Retourne une valeur datetime2 pour la date et l'heure spécifiées et avec la précision spécifiée.
Conventions de la syntaxe Transact-SQL
S'applique à : SQL Server (SQL Server 2012 via la version actuelle, Base de données SQL Windows Azure (version initiale via la version actuelle. |
Syntaxe
DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision )
Arguments
year
Expression entière spécifiant une année.month
Expression entière spécifiant un mois.day
Expression entière spécifiant un jour.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 datetime2 à retourner.
Type des valeurs retournées
datetime2 ( precision )
Notes
DATETIME2FROMPARTS retourne une valeur complètement initialisée de datetime2. Si les arguments ne sont pas valides, une erreur est générée. Si les arguments obligatoires sont 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 2014 et versions ultérieures. Elle ne peut pas être exécutée à distance sur des serveurs dont la version est antérieure à SQL Server 2014.
Exemples
A.Exemple simple sans fractions de seconde
SELECT DATETIME2FROMPARTS ( 2010, 12, 31, 23, 59, 59, 0, 0 ) AS Result;
Voici l'ensemble des résultats.
Result
---------------------------
2010-12-31 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 DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 5, 1 );
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 50, 2 );
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 500, 3 );
GO
Voici l'ensemble des résultats.
----------------------
2011-08-15 14:23:44.5
(1 row(s) affected)
----------------------
2011-08-15 14:23:44.50
(1 row(s) affected)
----------------------
2011-08-15 14:23:44.500
(1 row(s) affected)