Partilhar via


DATETIMEOFFSETFROMPARTS (Transact-SQL)

Retorna um valor datetimeoffset para a data e a hora especificadas e com deslocamentos e precisão especificados.

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

Sintaxe

DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, 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.

  • hour_offset
    Expressão de inteiro que especifica a parte de hora do deslocamento de fuso horário.

  • minute_offset
    Expressão de inteiro que especifica a parte de minutos do deslocamento de fuso horário.

  • precision
    Literal de inteiro que especifica a precisão do valor datetimeoffset a ser retornado.

Tipos de retorno

datetimeoffset ( precision )

Comentários

DATETIMEOFFSETFROMPARTS retorna um tipo de dados datetimeoffset completamente inicializado. Os argumentos de deslocamento são usados para representar o deslocamento de fuso horário. Se os argumentos de deslocamento forem omitidos, será assumido que o deslocamento de fuso horário é 00:00, ou seja, não há deslocamento de fuso horário. Se os argumentos de deslocamento forem especificados, ambos os argumentos devem estar presentes e ambos devem ser positivos ou negativos. Se minute_offset for especificado sem hour_offset, um erro será lançado. Se outros 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 DATETIMEOFFSETFROMPARTS ( 2010, 12, 31, 14, 23, 23, 0, 12, 0, 7 ) AS Result;

Aqui está o conjunto de resultados.

Result
-------------------------------------------
2010-12-07 00:00:00.0000000 +00:00

(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 DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 5, 12, 30, 1 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 50, 12, 30, 2 );
SELECT DATETIMEOFFSETFROMPARTS ( 2011, 8, 15, 14, 30, 00, 500, 12, 30, 3 );
GO

Aqui está o conjunto de resultados.

----------------------------------
2011-08-15 14:30:00.5 +12:30

(1 row(s) affected)


----------------------------------
2011-08-15 14:30:00.50 +12:30

(1 row(s) affected)


----------------------------------
2011-08-15 14:30:00.500 +12:30

(1 row(s) affected)

Consulte também

Referência

datetimeoffset (Transact-SQL)