DATETIMEOFFSETFROMPARTS (Transact-SQL)

Retourne une valeur datetimeoffset pour la date et l'heure spécifiées et avec la précision et le décalage spécifiés.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, 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.

  • hour_offset
    Expression entière spécifiant la partie heure du décalage de fuseau horaire.

  • minute_offset
    Expression entière spécifiant la partie minute du décalage de fuseau horaire.

  • precision
    Littéral entier spécifiant la précision de la valeur datetimeoffset à retourner.

Types de retour

datetimeoffset ( precision )

Notes

DATETIMEOFFSETFROMPARTS retourne un type de données entièrement initialisé de datetimeoffset. Les arguments de décalage sont utilisés pour représenter le décalage de fuseau horaire. Si les arguments de décalage sont omis, il est supposé que le décalage de fuseau horaire est 0h00, autrement dit il n'y a aucun décalage de fuseau horaire. Si les arguments de décalage sont spécifiés, les deux arguments doivent être présents et tous deux doivent être positifs ou négatifs. Si minute_offset est spécifié sans hour_offset, une erreur est retournée. Si d'autres 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 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 DATETIMEOFFSETFROMPARTS ( 2010, 12, 31, 14, 23, 23, 0, 12, 0, 7 ) AS Result;

Voici l'ensemble des résultats.

Result
-------------------------------------------
2010-12-07 00:00:00.0000000 +00:00

(1 row(s) affected)

B.Exemple avec fractions de seconde

L'exemple suivant illustre l'utilisation des paramètres fractions et precision :

  1. Lorsque fractions a la valeur 5 et precision la valeur 1, la valeur de fractions représente 5/10 de seconde.

  2. Lorsque fractions a la valeur 50 et precision la valeur 2, la valeur de fractions représente 50/100 de seconde.

  3. Lorsque fractions a la valeur 500 et precision la valeur 3, la valeur de fractions représente 500/1000 de seconde.

SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 5, 12, 30, 1 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 50, 12, 30, 2 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 500, 12, 30, 3 );
GO

Voici l'ensemble des résultats.

----------------------------------
2011-08-15 14:30:00.5 +12:30

(1 row(s) affected)


----------------------------------
2011-08-15 14:30:00.50 +12:30

(1 row(s) affected)


----------------------------------
2011-08-15 14:30:00.500 +12:30

(1 row(s) affected)

Voir aussi

Référence

datetimeoffset (Transact-SQL)