Dans SQL Server, le transact-sql SYSDATETIMEOFFSET()
la fonction renvoie un datetimeoffset(7) valeur qui contient la date et l'heure de l'ordinateur sur lequel l'instance de SQL Server s'exécute. Cette valeur inclut le décalage horaire.
Exemples d'utilisation ci-dessous.
Syntaxe
La syntaxe ressemble à ceci :
SYSDATETIMEOFFSET ( )
Vous appelez donc simplement la fonction sans aucun argument.
Exemple
Voici un exemple de base :
SELECT SYSDATETIMEOFFSET() AS Result;
Résultat :
Result ---------------------------------- 2018-06-17 09:55:27.3221853 +10:00
Extraire le décalage de fuseau horaire
Vous pouvez utiliser le DATEPART()
fonction pour renvoyer le décalage de fuseau horaire. Cette fonction renvoie un entier qui représente le décalage horaire en minutes.
Exemple :
SELECT SYSDATETIMEOFFSET() AS 'Date/time', DATEPART(TZoffset, SYSDATETIMEOFFSET()) AS 'TZ Offset';
Résultat :
Date/time TZ Offset ---------------------------------- ----------- 2018-06-17 10:04:23.2316409 +10:00 600
Vous pouvez également utiliser la fonction FORMAT() pour renvoyer le décalage de fuseau horaire sous forme de chaîne. Plus précisément, vous pouvez utiliser le z
, zz
, et/ou zzz
arguments pour le renvoyer dans le format requis.
Exemple :
SELECT SYSDATETIMEOFFSET() AS 'Date/time', FORMAT(SYSDATETIMEOFFSET(), 'zz') AS 'zz', FORMAT(SYSDATETIMEOFFSET(), 'zzz') AS 'zzz';
Résultat :
Date/time zz zzz ---------------------------------- -------------- -------------- 2018-06-17 10:27:33.7314840 +10:00 +10 +10:00
Convertir la valeur de retour
Vous pouvez également utiliser des fonctions telles que CONVERT()
pour convertir la valeur de retour dans un autre type de données. Voici un exemple où je le convertis en une date valeur et un temps valeur :
SELECT CONVERT (date, SYSDATETIMEOFFSET()) AS 'Date', CONVERT (time, SYSDATETIMEOFFSET()) AS 'Time';
Résultat :
Date Time ---------- ---------------- 2018-06-17 10:08:29.6377947
Bien sûr, une fois que nous faisons cela, nous perdons le décalage horaire.
Voir aussi TODATETIMEOFFSET()
qui vous permet d'obtenir un datetimeoffset valeur à partir d'un datetime2 expression, et SWITCHOFFSET()
qui vous permet de modifier un décalage de fuseau horaire.