Condividi tramite


TODATETIMEOFFSET (Transact-SQL)

Restitusce un valore datetimeoffset convertito da un'espressione datetime2.

Icona di collegamento a un argomentoConvenzioni 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. L'intervallo è compreso tra i valori 14 e -13. 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
SELECT @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
SELECT @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