ComeçarComece de graça

Alterando o offset de uma data

Podemos usar a função SWITCHOFFSET() para mudar o fuso horário de uma data do tipo DATETIME, DATETIME2 ou DATETIMEOFFSET, ou de uma string de data válida. SWITCHOFFSET() recebe dois parâmetros: a data (ou string) de entrada e o offset do fuso horário. Ela retorna a hora nesse novo fuso horário; por exemplo, 3:00 AM em Eastern Daylight Time se torna 2:00 AM em Central Daylight Time.

Os Jogos Olímpicos de Verão de 2016, no Rio de Janeiro, começaram às 11 PM UTC em 8 de agosto de 2016. A partir de uma string com essa data e hora, podemos ver que horas eram em outros locais.

Este exercício faz parte do curso

Análise de Séries Temporais no SQL Server

Ver curso

Instruções do exercício

  • Preencha a chamada de função adequada para Brasília, Brasil.
  • Preencha a chamada de função e o fuso horário adequados para Chicago, Illinois. Em agosto, Chicago está 2 horas atrás do horário de Brasília.
  • Preencha a chamada de função e o fuso horário adequados para Nova Délhi, Índia. A Índia não adota o horário de verão; portanto, em agosto, Nova Délhi está 8 horas e meia à frente do horário de Brasília. Observe, ao calcular fusos horários, que Brasília e Nova Délhi estão em lados opostos do UTC.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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;
Editar e executar o código