DATETIMEOFFSETFROMPARTS (Transact-SQL)
Restituisce un valore datetimeoffset per la data e l'ora specificate e con gli offset e la precisione indicati.
Convenzioni della sintassi Transact-SQL
Si applica a: SQL Server (SQL Server 2012 tramite versione corrente), Database SQL di Windows Azure (versione iniziale tramite versione corrente). |
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 2014 e versioni successive, ma non in server con versioni precedenti a SQL Server 2014.
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:
Se fractions presenta il valore 5 e precision presenta il valore 1, il valore di fractions rappresenta 5/10 di un secondo.
Se fractions presenta il valore 50 e precision presenta il valore 2, il valore di fractions rappresenta 50/100 di un secondo.
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)