TODATETIMEOFFSET (Transact-SQL)
Retorna um valor datetimeoffset que é convertido de uma expressão datetime2.
Convenções da sintaxe Transact-SQL
Sintaxe
TODATETIMEOFFSET ( expression , time_zone )
Argumentos
expression
É uma expressão resolvida em um valor datetime2.Observação A expressão não pode ser do tipo text, ntext ou image pois esses tipos não podem ser convertidos implicitamente em varchar ou nvarchar.
time_zone
É uma expressão que representa o deslocamento de fuso horário em minutos (se for um inteiro), por exemplo -120, ou horas e minutos (se for uma cadeia de caracteres), por exemplo ‘+13.00’. O intervalo é de +14 a -14 (em horas). A expressão é interpretada em hora local para time_zone especificado.Observação Se a expressão for uma cadeia de caracteres, deve estar no formato {+|-}TZH:THM.
Tipo de retorno
datetimeoffset. A precisão fracionária é igual à do argumento datetime.
Exemplos
A.Alterando o deslocamento de fuso horário da data e da hora atuais
O exemplo seguinte altera o deslocamento de fuso horário da data e da hora atuais para o fuso horário -07:00.
DECLARE @todaysDateTime datetime2;
SET @todaysDateTime = GETDATE();
SELECT TODATETIMEOFFSET (@todaysDateTime, '-07:00');
-- RETURNS 2007-08-30 15:51:34.7030000 -07:00
B.Alterando o deslocamento de fuso horário em minutos
O exemplo seguinte altera o fuso horário atual para -120 minutos.
DECLARE @todaysDate datetime2;
SET @todaysDate = GETDATE();
SELECT TODATETIMEOFFSET (@todaysDate, -120);
-- RETURNS 2007-08-30 15:52:37.8770000 -02:00
C.Adicionando um deslocamento de fuso horário de 13 horas
O exemplo seguinte adiciona um deslocamento de fuso horário de 13 horas a uma data e hora.
DECLARE @dateTime datetimeoffset(7)= '2007-08-28 18:00:30';
SELECT TODATETIMEOFFSET (@dateTime, '+13:00');
-- RETURNS 2007-08-28 18:00:30.0000000 +13:00