Condividi tramite


TIMEFROMPARTS (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

Restituisce un valore time per l'ora specificata e con la precisione indicata.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )  

Argomenti

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 time da restituire.

Tipi restituiti

time( precision )

Osservazioni:

TIMEROMPARTS restituisce un valore relativo all'ora completamente inizializzato. Se gli argomenti non sono validi, viene generato un errore. Se un parametro è Null, viene restituito Null. Se tuttavia 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 SQL Server 2012 (11.x) e versioni successive, ma non in server con versioni precedenti a SQL Server 2012 (11.x).

Esempi

R. Esempio semplice senza frazioni di un secondo

SELECT TIMEFROMPARTS ( 23, 59, 59, 0, 0 ) AS Result;  

Il set di risultati è il seguente.

Result  
--------------------  
23:59:59.0000000  
  
(1 row(s) affected)  

B. Esempio con frazioni di un secondo

L'esempio seguente illustra l'uso dei parametri fractions e precision:

  1. Se fractions ha valore 5 e precision ha valore 1, il valore di fractions corrisponde a 5/10 di secondo.

  2. Se fractions ha valore 50 e precision ha valore 2, il valore di fractions corrisponde a 50/100 di secondo.

  3. Se fractions ha valore 500 e precision ha valore 3, il valore di fractions corrisponde a 500/1000 di secondo.

SELECT TIMEFROMPARTS ( 14, 23, 44, 5, 1 );  
SELECT TIMEFROMPARTS ( 14, 23, 44, 50, 2 );  
SELECT TIMEFROMPARTS ( 14, 23, 44, 500, 3 );  
GO  

Il set di risultati è il seguente.

----------------  
14:23:44.5  
  
(1 row(s) affected)  
  
----------------  
14:23:44.50  
  
(1 row(s) affected)  
  
----------------  
14:23:44.500  
  
(1 row(s) affected)