TIMEFROMPARTS (Transact-SQL)
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Zwraca wartość czasu dla określonego czasu i z określoną dokładnością.
Transact-SQL konwencje składni
Składnia
TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )
Argumenty
godziny
Wyrażenie całkowite określające godziny.
minuty
Wyrażenie całkowite określające minuty.
Wyrażenie całkowite określające sekundy.
ułamki
Wyrażenie całkowite określające ułamki.
precyzji
Literał liczby całkowitej określający dokładność zwracanej wartości czasu.
Typy zwracane
time(precyzja)
Uwagi
Funkcja TIMEFROMPARTS zwraca w pełni zainicjowaną wartość czasu. Jeśli argumenty są nieprawidłowe, zostanie zgłoszony błąd. Jeśli którykolwiek z parametrów ma wartość null, zwracana jest wartość null. Jeśli jednak argument precyzji ma wartość null, zostanie zgłoszony błąd.
Frakcje zależą od argumentu precyzji. Jeśli na przykład precyzja wynosi 7, każdy ułamek reprezentuje 100 nanosekund; jeśli precyzja wynosi 3, każdy ułamek reprezentuje milisekundę. Jeśli wartość dokładności wynosi zero, wartość ułamków również musi być równa zero; w przeciwnym razie zostanie zgłoszony błąd.
Ta funkcja może być zdalna z serwerami programu SQL Server 2012 (11.x) i nowszymi. Nie można go zdalnie połączyć z serwerami, które mają wersję niższą niż SQL Server 2012 (11.x).
Przykłady
A. Prosty przykład bez ułamków sekundy
SELECT TIMEFROMPARTS ( 23, 59, 59, 0, 0 ) AS Result;
Oto zestaw wyników.
Result
--------------------
23:59:59.0000000
(1 row(s) affected)
B. Przykład z ułamkami sekundy
W poniższym przykładzie pokazano użycie ułamków i dokładności parametrów:
Gdy ułamki ma wartość 5, a precyzja ma wartość 1, wartość ułamków reprezentuje 5/10 sekundy.
Gdy ułamki ma wartość 50, a precyzja ma wartość 2, wartość ułamków reprezentuje 50/100 sekundy.
Gdy ułamki ma wartość 500, a precyzja ma wartość 3, wartość ułamków reprezentuje 500/1000 sekundy.
SELECT TIMEFROMPARTS ( 14, 23, 44, 5, 1 );
SELECT TIMEFROMPARTS ( 14, 23, 44, 50, 2 );
SELECT TIMEFROMPARTS ( 14, 23, 44, 500, 3 );
GO
Oto zestaw wyników.
----------------
14:23:44.5
(1 row(s) affected)
----------------
14:23:44.50
(1 row(s) affected)
----------------
14:23:44.500
(1 row(s) affected)