Udostępnij za pomocą


DATETIME2FROMPARTS (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Database w Microsoft Fabric

Funkcja ta zwraca wartość datetime2 dla określonych argumentów daty i godziny. Zwrócona wartość ma precyzję określoną przez argument precyzji.

Transact-SQL konwencje składni

Składnia

DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision )  

Arguments

rok
Wyrażenie całkowite określające rok.

miesiąc
Wyrażenie całkowite określające miesiąc.

dzień
Wyrażenie całkowite określające dzień.

godzina
Wyrażenie całkowite określające liczbę godzin.

minuta
Wyrażenie całkowite określające minuty.

Sekund
Wyrażenie całkowite określające sekundy.

Frakcji
Wyrażenie całkowite określające wartość ułamkową sekund.

precyzja
Wyrażenie całkowitoliczbowe, które określa precyzję wartości datetime2 , która DATETIME2FROMPARTS będzie zwracana.

Typy zwracane

datetime2(precyzja)

Uwagi

DATETIME2FROMPARTS zwraca w pełni zainicjalizowaną wartość datetime2 . DATETIME2FROMPARTS wywoła błąd, jeśli przynajmniej jeden wymagany argument ma wartość nieprawidłową. DATETIME2FROMPARTS Zwraca null, jeśli przynajmniej jeden wymagany argument ma wartość null. Jednak jeśli argument precyzji ma wartość zerową, DATETIME2FROMPARTS wywoła błąd.

Argument ułamków zależy od argumentu precyzji . Na przykład, dla wartości precyzji 7, każda frakcja reprezentuje 100 nanosekund; dla precyzji 3 każda frakcja reprezentuje milisekundę. Dla wartości precyzji równej zero wartość ułamków musi również być równa zeru; w przeciwnym razie wywoła DATETIME2FROMPARTS błąd.

Funkcja ta może być zdalnie przesyłana do serwerów SQL Server 2012 (11.x) i wyższych. Nie jest zdalnie przekazywany do serwerów mających wersję poniżej SQL Server 2012 (11.x).

Przykłady

A. Przykład bez ułamków sekundy

SELECT DATETIME2FROMPARTS ( 2010, 12, 31, 23, 59, 59, 0, 0 ) AS Result;  

Oto zestaw wyników.

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

B. Przykład z ułamkami sekundy

Ten przykład pokazuje użycie ułamków i parametrów precyzji :

  1. Gdy ułamki mają wartość 5, a precyzja wartość 1, wartość ułamków oznacza 5/10 sekundy.

  2. Gdy ułamki mają wartość 50, a precyzja wartość 2, wartość ułamków oznacza 50/100 sekundy.

  3. Gdy ułamki mają wartość 500, a precyzja wartość 3, to wartość ułamków oznacza 500/1000 sekundy.

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  

Oto zestaw wyników.

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

Zobacz także

datetime2 (Transact-SQL)