Partilhar via


TIMEFROMPARTS (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)

Retorna um valor time para a hora especificada e com a precisão especificada.

Convenções de sintaxe de Transact-SQL

Sintaxe

TIMEFROMPARTS ( hour, minute, seconds, fractions, precision )  

Argumentos

hour
Expressão de inteiro que especifica horas.

minute
Expressão de inteiro que especifica minutos.

segundos
Expressão de inteiro que especifica segundos.

fractions
Expressão de inteiro que especifica frações.

precisão
Literal de inteiro que especifica a precisão do valor time a ser retornado.

Tipos de retorno

time( precision )

Comentários

TIMEROMPARTS retorna um valor de hora completamente inicializado. Se os argumentos forem inválidos, um erro será lançado. Se algum parâmetro for nulo, nulo será retornado. Porém, se o argumento precision for nulo, um erro será gerado.

O argumento fractions depende do argumento precision. Por exemplo, se precision for 7, cada fração representará 100 nanosegundos; se precision for 3, cada fração representará um milissegundo. Se o valor de precision for zero, o valor de fractions também deverá ser zero; caso contrário, um erro será gerado.

Essa função pode ser remota para servidores SQL Server 2012 (11.x) e posteriores. Ela não pode ser remota para servidores com uma versão anterior à SQL Server 2012 (11.x).

Exemplos

a. Exemplo simples sem frações de um segundo

SELECT TIMEFROMPARTS ( 23, 59, 59, 0, 0 ) AS Result;  

Veja a seguir o conjunto de resultados.

Result  
--------------------  
23:59:59.0000000  
  
(1 row(s) affected)  

B. Exemplo simples com frações de um segundo

O seguinte exemplo demonstra o uso dos parâmetros fractions e precision:

  1. Quando fractions tem um valor igual a 5 e precision tem um valor igual a 1, o valor de fractions representa 5/10 de um segundo.

  2. Quando fractions tem um valor igual a 50 e precision tem um valor igual a 2, o valor de fractions representa 50/100 de um segundo.

  3. Quando fractions tem um valor igual a 500 e precision tem um valor igual a 3, o valor de fractions representa 500/1.000 de um segundo.

SELECT TIMEFROMPARTS ( 14, 23, 44, 5, 1 );  
SELECT TIMEFROMPARTS ( 14, 23, 44, 50, 2 );  
SELECT TIMEFROMPARTS ( 14, 23, 44, 500, 3 );  
GO  

Veja a seguir o conjunto de resultados.

----------------  
14:23:44.5  
  
(1 row(s) affected)  
  
----------------  
14:23:44.50  
  
(1 row(s) affected)  
  
----------------  
14:23:44.500  
  
(1 row(s) affected)