Il T-SQL TIMEFROMPARTS()
la funzione ti consente di costruire un tempo valore dalle varie parti temporali. Puoi anche specificare la precisione del valore restituito.
Di seguito sono riportati esempi di come funziona questa funzione.
Sintassi
La sintassi è questa:
TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )
Dove i primi 4 argomenti sono espressioni intere che specificano quella particolare parte temporale. Il quinto argomento è un valore letterale intero che specifica la precisione del tempo valore da restituire.
Esempio
Ecco un esempio da dimostrare.
SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, 7 ) AS Result;
Risultato:
+------------------+ | Result | |------------------| | 23:35:29.1234567 | +------------------+
In questo caso, ho specificato un valore di precisione di 7.
Per essere più precisi (nessun gioco di parole), l'argomento precision specifica effettivamente la scala . Scala è il numero di cifre a destra della virgola decimale. Precisione è il numero totale di cifre.
Argomenti non validi
Se uno qualsiasi degli argomenti non è valido, si verificherà un errore. Esempio:
SELECT TIMEFROMPARTS( 23, 35, 61, 1234567, 7 ) AS Result;
Risultato:
Cannot construct data type time, some of the arguments have values which are not valid.
In questo caso, ho fornito un minuto argomento di 61
.
Numero di argomenti
Si verificherà un errore anche se non si fornisce il numero corretto di argomenti. Esempio:
SELECT TIMEFROMPARTS( 23, 35, 29, 7 ) AS Result;
Risultato:
The timefromparts function requires 5 argument(s).
Valori Nulli
Se uno dei primi 4 argomenti è nullo, il risultato è NULL
:
SELECT TIMEFROMPARTS( 23, 35, NULL, 1234567, 7 ) AS Result;
Risultato:
+----------+ | Result | |----------| | NULL | +----------+
Tuttavia, se il 5° argomento (precision ) è nullo, si verifica un errore:
SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, NULL ) AS Result;
Risultato:
Scale argument is not valid. Valid expressions for data type time scale argument are integer constants and integer constant expressions.
Remote
Microsoft afferma che il TIMEFROMPARTS()
la funzione può essere remotata su server SQL Server 2012 (11.x) e versioni successive. Non può essere remotato su server con una versione precedente a SQL Server 2012 (11.x).
Una funzione simile
Controlla anche SMALLDATETIMEFROMPARTS() Esempi in SQL Server (T-SQL) per ottenere un smalldatetime valore invece di un tempo valore.