TODATETIMEOFFSET (Transact-SQL)

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)

Restituisce un valore datetimeoffset convertito da un'espressione datetime2.

Convenzioni di sintassi Transact-SQL

Sintassi

TODATETIMEOFFSET ( datetime_expression , timezoneoffset_expression )  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Argomenti

datetime_expression
Espressione che viene risolta in un valore datetime2.

Nota

L'espressione non può essere di tipo text, ntext o image perché questi tipi non possono essere convertiti in modo implicito in varchar o nvarchar.

timezoneoffset_expression
Espressione che rappresenta la differenza di fuso orario in minuti (se è un numero intero), ad esempio -120, o in ore e minuti (se è una stringa), ad esempio '+13:00'. L'intervallo è compreso tra +14 e -14 (in ore). L'espressione viene interpretata come ora locale in base al valore timezoneoffset_expression specificato.

Nota

Se l'espressione è una stringa di caratteri, il formato deve essere {+|-}TZH:THM.

Tipo restituito

datetimeoffset. La precisione frazionaria è la stessa di quella dell'argomento datetime_expression.

Esempi

R. Modifica della differenza di fuso orario della data e ora correnti

Nell'esempio seguente viene impostata la differenza di fuso orario della data e ora correnti sul valore -07:00.

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

B. Modifica della differenza di fuso orario in minuti

Nell'esempio seguente la differenza di fuso orario viene impostata sul valore -120 minuti.

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

C. Aggiunta di una differenza di fuso orario di 13 ore

Nell'esempio seguente viene aggiunta una differenza di fuso orario di 13 ore a una data e a un'ora.

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

Vedi anche

CAST e CONVERT (Transact-SQL)
Funzioni e tipi di dati di data e ora (Transact-SQL)
AT TIME ZONE (Transact-SQL)