Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Exemplos de DATEFROMPARTS() no SQL Server (T-SQL)


Você pode usar o T-SQL DATEFROMPARTS() função no SQL Server para retornar uma data valor que mapeia para as partes de data que você fornece como expressões inteiras.

A maneira como funciona é que você fornece três valores (um para cada um dos ano , mês , e dia valores) e o SQL Server retornará uma data valor com base nos valores que você fornece.

Exemplos abaixo.


Sintaxe


Primeiro, aqui está a sintaxe:
DATEFROMPARTS ( year, month, day )

Veja o que cada argumento pode ser:
year
Uma expressão inteira que especifica um ano.
month
Uma expressão inteira que especifica um mês, de 1 a 12.
day
Uma expressão inteira que especifica um dia.

Exemplo


Segue um exemplo de uso:
SELECT DATEFROMPARTS( 2021, 05, 10 ) AS Result;

Resultado:
+------------+
| Result     |
|------------|
| 2021-05-10 |
+------------+

Valores inválidos


Você precisará garantir que as partes da data sejam fornecidas na ordem correta, caso contrário, poderá ocorrer um erro. Pior ainda, você pode não receber um erro (se a parte do dia for 12 ou menos) e, portanto, pode perder um grande problema com a forma como a data é traduzida.

Aqui está um exemplo de um valor inválido:
SELECT DATEFROMPARTS( 2021, 30, 10 ) AS Result;

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

Isso ocorre porque fornecemos 30 como parte do mês. Esta parte só aceitará valores entre 1 e 12.

Valores nulos


Se algum dos argumentos for nulo, o resultado será NULL .

Aqui está um exemplo usando um valor nulo:
SELECT DATEFROMPARTS( 2021, NULL, 10 ) AS Result;

Resultado:
+----------+
| Result   |
|----------|
| NULL     |
+----------+

Portanto, provavelmente não é preciso dizer (mas direi mesmo assim), que se todos os argumentos forem valores nulos, o resultado será NULL :
SELECT DATEFROMPARTS( NULL, NULL, NULL ) AS Result;

Resultado:
+----------+
| Result   |
|----------|
| NULL     |
+----------+