Udostępnij za pośrednictwem


TIMEFROMPARTS (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics 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.

sekund
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:

  1. Gdy ułamki ma wartość 5, a precyzja ma wartość 1, wartość ułamków reprezentuje 5/10 sekundy.

  2. Gdy ułamki ma wartość 50, a precyzja ma wartość 2, wartość ułamków reprezentuje 50/100 sekundy.

  3. 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)