Condividi tramite


DATETIMEOFFSETFROMPARTS (Transact-SQL)

Restituisce un valore datetimeoffset per la data e l'ora specificate e con gli offset e la precisione indicati.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision )

Argomenti

  • year
    Espressione intera che specifica un anno.

  • month
    Espressione intera che specifica un mese.

  • day
    Espressione intera che specifica un giorno.

  • hour
    Espressione intera che specifica le ore.

  • minute
    Espressione intera che specifica i minuti.

  • seconds
    Espressione intera che specifica i secondi.

  • fractions
    Espressione intera che specifica le frazioni.

  • hour_offset
    Espressione intera che specifica la parte di ora della differenza di fuso orario.

  • minute_offset
    Espressione intera che specifica la parte di minuto della differenza di fuso orario.

  • precision
    Valore letterale intero che specifica la precisione del valore datetimeoffset da restituire.

Tipi restituiti

datetimeoffset ( precision )

Osservazioni

La proprietà DATETIMEOFFSETFROMPARTS restituisce un tipo di dati datetimeoffset completamente inizializzato. Gli argomenti dell'offset vengono utilizzati per rappresentare la differenza di fuso orario. Se tali argomenti vengono omessi, si presuppone che la differenza di fuso orario sia 00.00, ovvero che non sia presente. Se invece vengono specificati, entrambi gli argomenti devono essere presenti e avere segno positivo o negativo. Se minute_offset è specificato senza hour_offset, viene generato un errore. Se altri argomenti non sono validi, viene generato un errore. Se gli argomenti obbligatori sono Null, viene restituito un valore Null. Tuttavia, se l'argomento precision è Null, viene generato un errore.

L'argomento fractions dipende dall'argomento precision. Se ad esempio precision è 7, ogni frazione rappresenta 100 nanosecondi, mentre se precision è 3, ogni frazione rappresenta un millisecondo. Se il valore di precision è zero, anche il valore di fractions deve essere zero. In caso contrario, viene generato un errore.

Questa funzione può essere eseguita in modalità remota in server con SQL Server 2012 e versioni successive, ma non in server con versioni precedenti a SQL Server 2012.

Esempi

A.Esempio semplice senza frazioni di un secondo

SELECT DATETIMEOFFSETFROMPARTS ( 2010, 12, 31, 14, 23, 23, 0, 12, 0, 7 ) AS Result;

Set di risultati:

Result
-------------------------------------------
2010-12-07 00:00:00.0000000 +00:00

(1 row(s) affected)

B.Esempio con frazioni di un secondo

Nell'esempio seguente viene illustrato l'utilizzo dei parametri fractions e precision:

  1. Se fractions presenta il valore 5 e precision presenta il valore 1, il valore di fractions rappresenta 5/10 di un secondo.

  2. Se fractions presenta il valore 50 e precision presenta il valore 2, il valore di fractions rappresenta 50/100 di un secondo.

  3. Se fractions presenta il valore 500 e precision presenta il valore 3, il valore di fractions rappresenta 500/1000 di un secondo.

SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 5, 12, 30, 1 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 50, 12, 30, 2 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 500, 12, 30, 3 );
GO

Set di risultati:

----------------------------------
2011-08-15 14:30:00.5 +12:30

(1 row(s) affected)


----------------------------------
2011-08-15 14:30:00.50 +12:30

(1 row(s) affected)


----------------------------------
2011-08-15 14:30:00.500 +12:30

(1 row(s) affected)

Vedere anche

Riferimento

datetimeoffset (Transact-SQL)