Compartilhar via


DATETIME2FROMPARTS (Transact-SQL)

Retorna um valor datetime2 para a data e a hora especificadas e com a precisão especificada.

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision )

Argumentos

  • year
    Expressão de inteiro que especifica um ano.

  • month
    Expressão de inteiro que especifica um mês.

  • day
    Expressão de inteiro que especifica um dia.

  • 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 datetime2 a ser retornado.

Tipos de retorno

datetime2 ( precision )

Comentários

DATETIME2FROMPARTS retorna um valor datetime2 completamente inicializado. Se os argumentos não forem válidos, um erro será lançado. Se os argumentos necessários forem nulos, 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á lançado.

Essa função é capaz de ser remota para servidores do SQL Server 2012 e acima. Ela não será remota para servidores que têm uma versão anterior ao SQL Server 2012.

Exemplos

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

SELECT DATETIME2FROMPARTS ( 2010, 12, 31, 23, 59, 59, 0, 0 ) AS Result;

Aqui está o conjunto de resultados.

Result
---------------------------
2010-12-31 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 DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 5, 1 );
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 50, 2 );
SELECT DATETIME2FROMPARTS ( 2011, 8, 15, 14, 23, 44, 500, 3 );
GO

Aqui está o conjunto de resultados.

----------------------
2011-08-15 14:23:44.5

(1 row(s) affected)


----------------------
2011-08-15 14:23:44.50

(1 row(s) affected)


----------------------
2011-08-15 14:23:44.500

(1 row(s) affected)

Consulte também

Referência

datetime2 (Transact-SQL)