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. O
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 | +----------+