Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics 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 :
Gdy ułamki mają wartość 5, a precyzja wartość 1, wartość ułamków oznacza 5/10 sekundy.
Gdy ułamki mają wartość 50, a precyzja wartość 2, wartość ułamków oznacza 50/100 sekundy.
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)