Compartilhar via


TIMEFROMPARTS (Transact-SQL)

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

Ícone de vínculo de tópico 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:

  1. Quando fractions tiver um valor de 5 e precision tiver um valor de 1, o valor de fractions representará 5/10 de um segundo.

  2. Quando fractions tiver um valor de 50 e precision tiver um valor de 2, o valor de fractions representará 50/100 de um segundo.

  3. 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)