TODATETIMEOFFSET (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceAzure Synapse AnalyticsEndpoint de análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de dados SQL no Microsoft Fabric

Devolve um valor datetimeoffset que é traduzido a partir de uma expressão datetime2 .

Transact-SQL convenções de sintaxe

Sintaxe

TODATETIMEOFFSET ( datetime_expression , timezoneoffset_expression )  

Arguments

datetime_expression
É uma expressão que resolve para um valor datetime2 .

Observação

A expressão não pode ser do tipo text, ntext ou image porque estes tipos não podem ser implicitamente convertidos em varchar ou nvarchar.

timezoneoffset_expression
É uma expressão que representa o deslocamento do fuso horário em minutos (se for um inteiro), por exemplo -120, ou horas e minutos (se for uma cadeia), por exemplo '+13:00'. O intervalo é de +14 a -14 (em horas). A expressão é interpretada em tempo local para a timezoneoffset_expression especificada.

Observação

Se a expressão for uma cadeia de caracteres, deve estar no formato {+|-}TZH:THM.

Tipo de Retorno

DataTempoOffset. A precisão fracionária é a mesma que o argumento datetime_expression .

Examples

A. Alterar o deslocamento do fuso horário da data e hora atuais

O exemplo seguinte altera o deslocamento de zona da data atual e a hora para o fuso -07:00horário.

DECLARE @todaysDateTime DATETIME2;  
SET @todaysDateTime = GETDATE();  
SELECT TODATETIMEOFFSET (@todaysDateTime, '-07:00');  
-- RETURNS 2019-04-22 16:23:51.7666667 -07:00  

B. Alterar o deslocamento do fuso horário em minutos

O exemplo seguinte altera o fuso horário atual para -120 minutos.

SELECT TODATETIMEOFFSET(SYSDATETIME(), -120)
-- RETURNS: 2019-04-22 11:39:21.6986813 -02:00  

C. Adicionar um desfasamento de fuso horário de 13 horas

O exemplo seguinte adiciona um desfasamento de fuso horário de 13 horas para uma data e hora.

SELECT TODATETIMEOFFSET(SYSDATETIME(), '+13:00')
-- RETURNS: 2019-04-22 11:39:29.0339301 +13:00