Можете да използвате T-SQL SMALLDATETIMEFROMPARTS()
функция в SQL Server, за да върне smalldatetime стойност от различните части за дата/час.
Тази статия предоставя примери за използване, както и случаи, в които можете да получите грешка или нулева стойност.
Синтаксис
Синтаксисът е така:
SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute )
Където всеки аргумент е целочислен израз, който определя тази конкретна част от датата/часа.
Пример
Ето пример за демонстрация.
SELECT SMALLDATETIMEFROMPARTS( 2021, 05, 10, 23, 35 ) AS Result;
Резултат:
+---------------------+ | Result | |---------------------| | 2021-05-10 23:35:00 | +---------------------+
Невалидни аргументи
Трябва да се уверите, че всички аргументи са валидни за тяхната конкретна част от дата/час. Ако не, ще получите грешка.
SELECT SMALLDATETIMEFROMPARTS( 2021, 05, 60, 23, 35 ) AS Result;
Резултат:
Cannot construct data type smalldatetime, some of the arguments have values which are not valid.
В този пример дадох ден аргумент със стойност 60
, което е твърде високо.
Брой аргументи
Трябва също така да се уверите, че предоставяте правилния брой аргументи (5). Ако не, ще получите грешка.
SELECT SMALLDATETIMEFROMPARTS( 2021, 05, 10 ) AS Result;
Резултат:
The smalldatetimefromparts function requires 5 argument(s).
Нулеви стойности
Ако някой от аргументите е нулев, резултатът е NULL
.
SELECT SMALLDATETIMEFROMPARTS( 2021, 05, NULL, 23, 35 ) AS Result;
Резултат:
+----------+ | Result | |----------| | NULL | +----------+
Отдалечено
Имайте предвид, че Microsoft съветва SMALLDATETIMEFROMPARTS()
функцията може да бъде отдалечена към сървъри на SQL Server 2017 и по-нови. Не се отдалечава на сървъри, които имат версия под SQL Server 2017.