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

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

Можете да използвате T-SQL DATEFROMPARTS() функция в SQL Server, за да върне дата стойност, която се съпоставя с частите от датата, които предоставяте като целочислени изрази.

Начинът, по който работи, е, че предоставяте три стойности (по една за всяка от годината , месец , и ден стойности), а SQL Server ще върне дата стойност въз основа на предоставените от вас стойности.

Примери по-долу.

Синтаксис

Първо, ето синтаксиса:

DATEFROMPARTS ( year, month, day )

Ето какъв може да бъде всеки аргумент:

year
Цялочислен израз, който определя година.
month
Цялочислен израз, който определя месец, от 1 до 12.
day
Цялочислен израз, който посочва ден.

Пример

Ето пример за употреба:

SELECT DATEFROMPARTS( 2021, 05, 10 ) AS Result;

Резултат:

+------------+
| Result     |
|------------|
| 2021-05-10 |
+------------+

Невалидни стойности

Ще трябва да се уверите, че частите за дата са предоставени в правилния ред, в противен случай може да получите грешка. Още по-лошото е, че може да не получите грешка (ако дневната част е 12 или по-малко) и следователно може да пропуснете голям проблем с начина, по който датата е преведена.

Ето пример за невалидна стойност:

SELECT DATEFROMPARTS( 2021, 30, 10 ) AS Result;

Резултат:

Cannot construct data type date, some of the arguments have values which are not valid. 

Това се случва, защото предоставихме 30 като част от месеца. Тази част ще приема само стойности между 1 и 12.

Нулеви стойности

Ако някой от аргументите е нулеви стойности, резултатът е NULL .

Ето пример за използване на нулева стойност:

SELECT DATEFROMPARTS( 2021, NULL, 10 ) AS Result;

Резултат:

+----------+
| Result   |
|----------|
| NULL     |
+----------+

Следователно, вероятно се разбира от само себе си (но все пак ще го кажа), че ако всички аргументи са нулеви стойности, резултатът е NULL :

SELECT DATEFROMPARTS( NULL, NULL, NULL ) AS Result;

Резултат:

+----------+
| Result   |
|----------|
| NULL     |
+----------+

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

  2. Въведение във временните таблици в SQL Server

  3. sql заявка за връщане на разлики между две таблици

  4. Сравнение на SQL низове, по-голямо и по-малко от операторите

  5. Връзката беше успешно установена със сървъра, но след това възникна грешка по време на ръкостискането преди влизане