CommencerCommencez gratuitement

Changer le décalage d’une date

Vous pouvez utiliser la fonction SWITCHOFFSET() pour changer le fuseau horaire d’une date de type DATETIME, DATETIME2 ou DATETIMEOFFSET, ou d’une chaîne de date valide. SWITCHOFFSET() prend deux paramètres : la date (ou la chaîne) en entrée et le décalage du fuseau horaire. Elle renvoie l’heure dans ce nouveau fuseau horaire ; ainsi, 3:00 AM en Eastern Daylight Time devient 2:00 AM en Central Daylight Time.

Les Jeux olympiques d’été 2016 à Rio de Janeiro ont commencé à 23 h UTC le 8 août 2016. En partant d’une chaîne contenant cette date et cette heure, nous pouvons voir à quelle heure cela correspondait dans d’autres lieux.

Cet exercice fait partie du cours

<cours>Analyse de séries temporelles dans SQL Server</cours>
Voir le cours

Instructions de l’exercice

  • Complétez l’appel de fonction approprié pour Brasília, Brésil.
  • Complétez l’appel de fonction et le fuseau horaire appropriés pour Chicago, Illinois. En août, Chicago a 2 heures de retard sur l’heure de Brasília.
  • Complétez l’appel de fonction et le fuseau horaire appropriés pour New Delhi, Inde. L’Inde n’applique pas l’heure d’été ; en août, New Delhi a 8 h 30 d’avance sur l’heure de Brasília. Notez, lors du calcul des fuseaux horaires, que Brasília et New Delhi se trouvent de part et d’autre de l’UTC.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

DECLARE
	@OlympicsUTC NVARCHAR(50) = N'2016-08-08 23:00:00';

SELECT
	-- Fill in the time zone for Brasilia, Brazil
	___(@OlympicsUTC, '-03:00') AS BrasiliaTime,
	-- Fill in the time zone for Chicago, Illinois
	___(@OlympicsUTC, ___) AS ChicagoTime,
	-- Fill in the time zone for New Delhi, India
	___(@OlympicsUTC, '+___') AS NewDelhiTime;
Modifier et exécuter le code