TODATETIMEOFFSET (Transact-SQL)
Restituisce un valore datetimeoffset convertito da un'espressione datetime2.
Convenzioni della sintassi Transact-SQL
Sintassi
TODATETIMEOFFSET ( expression , time_zone )
Argomenti
expression
Espressione che viene risolta in un valore datetime2.[!NOTA]
L'espressione non può essere di tipo text, ntext o image poiché questi tipi non possono essere convertiti in modo implicito in varchar o nvarchar.
time_zone
Espressione che rappresenta la differenza di fuso orario in minuti (se è 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 time_zone 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.
Esempi
A.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 2007-08-30 15:51:34.7030000 -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.
DECLARE @todaysDate datetime2;
SET @todaysDate = GETDATE();
SELECT TODATETIMEOFFSET (@todaysDate, -120);
-- RETURNS 2007-08-30 15:52:37.8770000 -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.
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