T-SQL TIMEFROMPARTS()
funkcja umożliwia budowanie czasu wartość z różnych części czasu. Możesz także określić dokładność zwracanej wartości.
Poniżej znajdują się przykłady działania tej funkcji.
Składnia
Składnia wygląda tak:
TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )
Gdzie pierwsze 4 argumenty są wyrażeniami całkowitymi określającymi tę konkretną część czasu. Piąty argument to literał całkowity określający dokładność czasu wartość do zwrócenia.
Przykład
Oto przykład do zademonstrowania.
SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, 7 ) AS Result;
Wynik:
+------------------+ | Result | |------------------| | 23:35:29.1234567 | +------------------+
W tym przypadku podałem wartość precyzji 7.
Aby być bardziej precyzyjnym (gra słów niezamierzona), argument precyzji w rzeczywistości określa skalę . Skala to liczba cyfr po prawej stronie przecinka dziesiętnego. Precyzja to całkowita liczba cyfr.
Nieprawidłowe argumenty
Jeśli którykolwiek z argumentów jest nieprawidłowy, wystąpi błąd. Przykład:
SELECT TIMEFROMPARTS( 23, 35, 61, 1234567, 7 ) AS Result;
Wynik:
Cannot construct data type time, some of the arguments have values which are not valid.
W tym przypadku podałem minutę argument 61
.
Liczba argumentów
Błąd wystąpi również, jeśli nie podasz prawidłowej liczby argumentów. Przykład:
SELECT TIMEFROMPARTS( 23, 35, 29, 7 ) AS Result;
Wynik:
The timefromparts function requires 5 argument(s).
Wartości puste
Jeśli którykolwiek z pierwszych 4 argumentów jest pusty, wynikiem jest NULL
:
SELECT TIMEFROMPARTS( 23, 35, NULL, 1234567, 7 ) AS Result;
Wynik:
+----------+ | Result | |----------| | NULL | +----------+
Jeśli jednak piąty argument (precyzja ) ma wartość null, pojawia się błąd:
SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, NULL ) AS Result;
Wynik:
Scale argument is not valid. Valid expressions for data type time scale argument are integer constants and integer constant expressions.
Zdalne
Microsoft stwierdza, że TIMEFROMPARTS()
funkcja może być zdalna do serwerów SQL Server 2012 (11.x) i wyższych. Nie może być zdalny do serwerów, które mają wersję niższą niż SQL Server 2012 (11.x).
Podobna funkcja
Zapoznaj się również z przykładami SMALLDATETIMEFROMPARTS() w SQL Server (T-SQL), aby uzyskać smalldatetime wartość zamiast czasu wartość.