Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SMALLDATETIMEFROMPARTS() Примери в SQL Server (T-SQL)

Можете да използвате 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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Десетични стойности в SQL за разделяне на резултатите

  2. SQL Server разделя CSV на няколко реда

  3. Изберете/Вмъкнете версия на Upsert:има ли модел на проектиране за висок едновременност?

  4. sp_executesql е бавен с параметри

  5. Как мога да открия и обвързвам промени между стойностите на редовете в SQL таблица?