DATETIMEOFFSETFROMPARTS (Transact-SQL)
Si applica a: SQL Server
database SQL di Azure
Istanza gestita di SQL di Azure
azure Synapse Analytics Analytics
Platform System (PDW)
Restituisce un valore di tipo datetimeoffset per gli argomenti date e time. Il valore restituito ha una precisione specificata dall'argomento precision e una differenza specificata dagli argomenti di offset.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision )
Nota
Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere Documentazione delle versioni precedenti.
Argomenti
year
Espressione Integer che specifica un anno.
month
Espressione Integer che specifica un mese.
day
Espressione Integer che specifica un giorno.
hour
Espressione Integer che specifica le ore.
minute
Espressione Integer che specifica i minuti.
seconds
Espressione Integer che specifica i secondi.
fractions
Espressione Integer che specifica un valore per i secondi frazionari.
hour_offset
Espressione Integer che specifica la parte di ora della differenza di fuso orario.
minute_offset
Espressione Integer che specifica la parte di minuto della differenza di fuso orario.
precision
Valore letterale Integer che specifica la precisione del valore datetimeoffset che verrà restituito da DATETIMEOFFSETFROMPARTS
.
Tipi restituiti
datetimeoffset( precision )
Osservazioni:
DATETIMEOFFSETFROMPARTS
restituisce un tipo di dati datetimeoffset completamente inizializzato. Gli argomenti di offset rappresentano la differenza di fuso orario. Per gli argomenti di offset omessi, DATETIMEOFFSETFROMPARTS
presuppone una differenza di fuso orario pari a 00:00
, ovvero nessuna differenza di fuso orario. Per gli argomenti di offset specificati, DATETIMEOFFSETFROMPARTS
prevede per entrambi gli argomenti valori entrambi positivi o entrambi negativi. Se minute_offset ha un valore e hour_offset non ha valori, DATETIMEOFFSETFROMPARTS
genererà un errore. DATETIMEOFFSETFROMPARTS
genererà un errore se gli altri argomenti hanno valori non validi. Se almeno un argomento obbligatorio ha un valore NULL
, DATETIMEOFFSETFROMPARTS
restituirà NULL
. Se tuttavia l'argomento precision ha un valore NULL
, DATETIMEOFFSETFROMPARTS
genererà un errore.
L'argomento fractions dipende dall'argomento precision. Ad esempio, per un valore di precision pari a 7, ogni frazione rappresenta 100 nanosecondi, mentre per precision pari a 3, ogni frazione rappresenta un millisecondo. Per un valore di precision pari a zero, anche il valore di fractions deve essere zero. In caso contrario, DATETIMEOFFSETFROMPARTS
genererà un errore.
Questa funzione può essere eseguita in modalità remota in server con SQL Server 2012 (11.x) e versioni successive, ma non in server con versioni precedenti a SQL Server 2012 (11.x).
Esempi
R. Esempio senza frazioni di un secondo
SELECT DATETIMEOFFSETFROMPARTS ( 2010, 12, 31, 14, 23, 23, 0, 12, 0, 7 ) AS Result;
Questo è il set di risultati.
Result
----------------------------------
2010-12-31 14:23:23.0000000 +12:00
(1 row(s) affected)
B. Esempio con frazioni di un secondo
Questo esempio illustra l'uso dei parametri fractions e precision:
Se fractions ha valore 5 e precision ha valore 1, il valore di fractions corrisponde a 5/10 di secondo.
Se fractions ha valore 50 e precision ha valore 2, il valore di fractions corrisponde a 50/100 di secondo.
Se fractions ha valore 500 e precision ha valore 3, il valore di fractions corrisponde a 500/1000 di 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
Questo è il 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)