TIMEFROMPARTS (Transact-SQL)
Retorna um valor time para a hora especificada e com a precisão especificada.
Convenções da sintaxe 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.seconds
Expressão de inteiro que especifica segundos.fractions
Expressão de inteiro que especifica frações.precision
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á lançado.
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 e posteriores. Ela não pode ser remota para servidores com versão anterior a SQL Server 2012.
Exemplos
A.Exemplo simples sem frações de um segundo
SELECT TIMEFROMPARTS ( 23, 59, 59, 0, 0 ) AS Result;
Aqui está o conjunto de resultados.
Result
--------------------
23:59:59.0000000
(1 row(s) affected)
B.Exemplo simples com frações de um segundo
O exemplo a seguir demonstra o uso dos parâmetros fractions e precision:
Quando fractions tiver um valor de 5 e precision tiver um valor de 1, o valor de fractions representará 5/10 de um segundo.
Quando fractions tiver um valor de 50 e precision tiver um valor de 2, o valor de fractions representará 50/100 de um segundo.
Quando fractions tiver um valor de 500 e precision tiver um valor de 3, o valor de fractions representará 500/1000 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
Aqui está 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)