DATETIME2FROMPARTS (Transact-SQL)
Restituisce un valore datetime2 per la data e l'ora specificate e con la precisione indicata.
Convenzioni della sintassi Transact-SQL
Sintassi
DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, 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.precision
Valore letterale intero che specifica la precisione del valore datetime2 da restituire.
Tipi restituiti
datetime2 ( precision )
Osservazioni
La proprietà DATETIME2FROMPARTS restituisce un valore datetime2 completamente inizializzato. Se gli 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 DATETIME2FROMPARTS ( 2010, 12, 31, 23, 59, 59, 0, 0 ) AS Result;
Set di risultati:
Result
---------------------------
2010-12-31 23:59:59.0000000
(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 DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 5, 1 );
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 50, 2 );
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 500, 3 );
GO
Set di risultati:
----------------------
2011-08-15 14:23:44.5
(1 row(s) affected)
----------------------
2011-08-15 14:23:44.50
(1 row(s) affected)
----------------------
2011-08-15 14:23:44.500
(1 row(s) affected)