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

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


No SQL Server, o DATETIMEFROMPARTS() A função funciona exatamente como a DATEFROMPARTS() função, exceto que ela também retorna a parte de hora da data.

DATETIMEFROMPARTS() A função aceita sete argumentos, cada um representando uma parte diferente da data/hora. A função então retorna um datetime valor das partes indicadas.


Sintaxe


Veja como fica a sintaxe:
DATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds )

Onde cada argumento é uma expressão inteira que especifica essa parte da data. Por exemplo, year é um número inteiro que especifica a parte do ano da data.

Exemplo


Aqui está um exemplo que demonstra como funciona:
SELECT DATETIMEFROMPARTS( 2021, 05, 10, 23, 35, 29, 500 ) AS Result;

Resultado:
+-------------------------+
| Result                  |
|-------------------------|
| 2021-05-10 23:35:29.500 |
+-------------------------+

Então você pode ver que cada um dos nossos argumentos aparece na parte aplicável do resultado.

Valores inválidos


Os valores precisam estar dentro de um intervalo válido para essa parte de data específica. Por exemplo, você não pode especificar que uma parte da hora seja 30 (ela precisa estar entre 0 e 24). Exemplo:
SELECT DATETIMEFROMPARTS( 2021, 05, 10, 30, 35, 29, 500 ) AS Result;

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

Número de argumentos


Você também precisa fornecer o número correto de argumentos (7). Caso contrário, você receberá uma mensagem de erro explicando isso:
SELECT DATETIMEFROMPARTS( 2021, 05, 10 ) AS Result;

Resultado:
The datetimefromparts function requires 7 argument(s). 

Valores nulos


Se algum dos argumentos for nulo, o resultado será NULL :
SELECT DATETIMEFROMPARTS( 2021, 05, 10, NULL, 35, 29, 500 ) AS Result;

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