Partilhar via


DATATEMPOOFFSETOFFPARTS(Transact-SQL)

Aplica-se a:Banco de Dados SQL doAzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Banco de Dados SQL no Microsoft Fabric

Devolve um valor de datatimeoffset para os argumentos de data e hora especificados. O valor devolvido tem uma precisão especificada pelo argumento da precisão, e um deslocamento conforme especificado pelos argumentos de deslocamento.

Transact-SQL convenções de sintaxe

Sintaxe

DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision )  

Arguments

ano
Uma expressão inteira que especifica um ano.

mês
Uma expressão inteira que especifica um mês.

Dia
Uma expressão inteira que especifica um dia.

hora
Uma expressão inteira que especifica as horas.

minuto
Uma expressão inteira que especifica os minutos.

segundos
Uma expressão inteira que especifica os segundos.

frações
Uma expressão inteira que especifica um valor fracionário de segundos.

hour_offset
Uma expressão inteira que especifica a porção horária do deslocamento do fuso horário.

minute_offset
Uma expressão inteira que especifica a porção minúscula do deslocamento do fuso horário.

precisão
Um valor literal inteiro que especifica a precisão do valor datatimeoffset que DATETIMEOFFSETFROMPARTS irá devolver.

Tipos de devolução

DateTimeOffset (precisão)

Observações

DATETIMEOFFSETFROMPARTS devolve um tipo de dado datatimeoffset totalmente inicializado. Os argumentos do deslocamento representam o deslocamento do fuso horário. Para argumentos de deslocamento omitidos, DATETIMEOFFSETFROMPARTS assume um deslocamento de fuso horário de 00:00 - ou seja, sem deslocamento de fuso horário. Para argumentos de deslocamento especificados, DATETIMEOFFSETFROMPARTS espera valores para ambos os argumentos, e ambos valores positivos ou negativos. Se minute_offset tiver um valor e hour_offset não tiver valor, DATETIMEOFFSETFROMPARTS gerará um erro. DATETIMEOFFSETFROMPARTS gerará um erro se os outros argumentos tiverem valores inválidos. Se pelo menos um dos argumentos necessários tiver um NULL valor, então DATETIMEOFFSETFROMPARTS devolverá NULL. No entanto, se o argumento de precisão tiver um NULL valor, então DATETIMEOFFSETFROMPARTS gerará um erro.

O argumento das frações depende do argumento da precisão. Por exemplo, para um valor de precisão de 7, cada fração representa 100 nanossegundos; para uma precisão de 3, cada fração representa um milissegundo. Para um valor de precisão zero, o valor das frações também deve ser zero; caso contrário, DATETIMEOFFSETFROMPARTS gerará um erro.

Esta função pode ser transferida remotamente para servidores SQL Server 2012 (11.x) e superiores. Não está remotamente ligado a servidores que tenham uma versão abaixo do SQL Server 2012 (11.x).

Examples

A. Um exemplo sem frações de segundo

SELECT DATETIMEOFFSETFROMPARTS ( 2010, 12, 31, 14, 23, 23, 0, 12, 0, 7 ) AS Result;  

Aqui está o conjunto de resultados.

Result  
----------------------------------
2010-12-31 14:23:23.0000000 +12:00  
  
(1 row(s) affected)  

B. Exemplo com frações de segundo

Este exemplo mostra a utilização das frações e parâmetros de precisão :

  1. Quando frações têm valor 5 e precisão 1, o valor das frações representa 5/10 de segundo.

  2. Quando frações têm um valor de 50 e a precisão de 2, o valor das frações representa 50/100 de segundo.

  3. Quando frações têm um valor de 500 e a precisão de 3, então o valor de frações representa 500/1000 de 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

datatempooffset (Transact-SQL)
NO FUSO HORÁRIO (Transact-SQL)