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

TIMEFROMPARTS() Exemplos no SQL Server (T-SQL)


O T-SQL TIMEFROMPARTS() A função permite que você crie um tempo valor das várias partes do tempo. Você também pode especificar a precisão do valor de retorno.

Abaixo estão exemplos de como esta função funciona.


Sintaxe


A sintaxe fica assim:
TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )

Onde os primeiros 4 argumentos são expressões inteiras que especificam essa parte de tempo específica. O quinto argumento é um literal inteiro que especifica a precisão do tempo valor a ser devolvido.

Exemplo


Aqui está um exemplo para demonstrar.
SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, 7 ) AS Result;

Resultado:
+------------------+
| Result           |
|------------------|
| 23:35:29.1234567 |
+------------------+

Nesse caso, especifiquei um valor de precisão de 7.

Para ser mais preciso (sem trocadilhos), o argumento de precisão na verdade especifica a escala . Escala é o número de dígitos à direita da vírgula. Precisão é o número total de dígitos.

Argumentos inválidos


Se algum dos argumentos for inválido, ocorrerá um erro. Exemplo:
SELECT TIMEFROMPARTS( 23, 35, 61, 1234567, 7 ) AS Result;

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

Nesse caso, forneci um minuto argumento de 61 .

Número de argumentos


Um erro também ocorrerá se você não fornecer o número correto de argumentos. Exemplo:
SELECT TIMEFROMPARTS( 23, 35, 29, 7 ) AS Result;

Resultado:
The timefromparts function requires 5 argument(s).

Valores nulos


Se algum dos 4 primeiros argumentos for nulo, o resultado será NULL :
SELECT TIMEFROMPARTS( 23, 35, NULL, 1234567, 7 ) AS Result;

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

No entanto, se o 5º argumento (precisão ) for nulo, ocorrerá um erro:
SELECT TIMEFROMPARTS( 23, 35, 29, 1234567, NULL ) AS Result;

Resultado:
Scale argument is not valid. Valid expressions for data type time scale argument are integer constants and integer constant expressions.

Remoto


A Microsoft afirma que o TIMEFROMPARTS() A função pode ser remota para servidores SQL Server 2012 (11.x) e superior. Ele não pode ser remoto para servidores que tenham uma versão anterior ao SQL Server 2012 (11.x).

Uma função semelhante


Confira também exemplos de SMALLDATETIMEFROMPARTS() no SQL Server (T-SQL) para obter um smalldatetime valor em vez de um tempo valor.