Conversion vers un décalage de date
En plus de SWITCHOFFSET(), on peut utiliser TODATETIMEOFFSET() pour convertir une date existante en un type de date avec décalage. Si l'heure de départ est en UTC, il faut d'abord corriger selon le fuseau horaire, puis ajouter un décalage. Pour corriger le fuseau horaire, on peut ajouter ou soustraire manuellement des heures (et des minutes).
La cérémonie de clôture des Jeux olympiques d'été de 2016 à Rio de Janeiro a commencé à 23 h UTC le 21 août 2016. En partant d'une chaîne qui contient cette date et cette heure, nous pouvons voir quelle heure il était dans d'autres lieux. Pour l'heure à Phoenix, en Arizona, vous savez qu'on y observe l'heure normale des Rocheuses, soit UTC -7 toute l'année. L'archipel de Tuvalu a son propre horaire, qui est 12 heures en avance sur l'UTC.
Cette activité fait partie du cours
Analyse de séries chronologiques dans SQL Server
Instructions de l’exercice
- Complétez l'heure à Phoenix, en Arizona, qui, à l'heure normale des Rocheuses, était à l'UTC -07:00.
- Complétez l'heure pour Tuvalu, qui est 12 heures en avance sur l'UTC.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
DECLARE
@OlympicsClosingUTC DATETIME2(0) = '2016-08-21 23:00:00';
SELECT
-- Fill in 7 hours back and a '-07:00' offset
___(DATEADD(HOUR, -___, @OlympicsClosingUTC), '___') AS PhoenixTime,
-- Fill in 12 hours forward and a '+12:00' offset.
___(DATEADD(HOUR, ___, @OlympicsClosingUTC), '___') AS TuvaluTime;