| Imprimir Abrir a versão em PDF da Ajuda on-line

#### Funções de data/hora de calendário As funções de data/hora de calendário manipulam dados nos tipos de dados para data, hora e marcador de data/hora. (O tipo de dados de marcador de data/hora é uma combinação de data e hora.) ### Current_Date Retorna a data atual. A data é determinada pelo computador. O valor não contém um componente de hora. Sintaxe: CURRENT_DATE ### ### Current_Time Retorna a hora atual. A hora é determinada pelo computador. O valor não contém um componente de data. Observação: esta função obtém a hora atual no momento em que o relatório é executado. Usando esta função com uma área do assunto de análise evita que o relatório seja armazenado em cache, o que reduz o desempenho. Sintaxe: CURRENT_TIME (n) em que:
n | Qualquer número inteiro que representa o número de dígitos de precisão com o qual serão exibidos os segundos fracionários. O argumento é opcional; a função retorna a precisão padrão quando nenhum argumento é especificado.
### Current_TimeStamp Retorna o marcador de data/hora atuais. O timestamp é determinado pelo computador. Observação: esta função obtém a hora atual no momento em que o relatório é executado. Usando esta função com uma área do assunto de análise evita que o relatório seja armazenado em cache, o que reduz o desempenho. Sintaxe: CURRENT_TIMESTAMP (n) em que:
n | Qualquer número inteiro que representa o número de dígitos de precisão com o qual serão exibidos os segundos fracionários. O argumento é opcional; a função retorna a precisão padrão quando nenhum argumento é especificado.
### Day_Of_Quarter Retorna um número (entre 1 e 92) correspondente ao dia do trimestre da data especificada. Sintaxe: DAY_OF_QUARTER (expressão_data) em que:
expressão_data | Qualquer expressão avaliada como uma data.
### DayName Retorna o nome do dia da semana (em inglês) de uma data especificada. Sintaxe: DAYNAME (expressão_data) em que:
expressão_data | Qualquer expressão avaliada como uma data.
### DayOfMonth Retorna o número correspondente ao dia do mês de uma data especificada. Sintaxe: DAYOFMONTH (expressão_data) em que:
expressão_data | Qualquer expressão avaliada como uma data.
### DayOfWeek Retorna um número entre 1 e 7 correspondente ao dia da semana de uma data especificada. O número 1 corresponde ao domingo e o número 7 ao sábado. Sintaxe: DAYOFWEEK (expressão_data) em que:
expressão_data | Qualquer expressão avaliada como uma data.
### DayOfYear Retorna o número (entre 1 e 366) correspondente ao dia do ano de uma data especificada. Sintaxe: DAYOFYEAR (expressão_data) em que:
expressão_data | Qualquer expressão avaliada como uma data.
### Hour Retorna um número (entre 0 e 23) correspondente à hora de um tempo especificado. Por exemplo, 0 corresponde a 0h e 23 corresponde a 23h. Sintaxe: HOUR (expressão_hora) em que:
expressão_hora | Qualquer expressão avaliada como um tempo.
### Minute Retorna um número (entre 0 e 59) correspondente ao minuto de um tempo especificado. Sintaxe: MINUTE (expressão_hora) em que:
expressão_hora | Qualquer expressão avaliada como um tempo.
### Mês Retorna o número (entre 1 e 12) correspondente ao mês de uma data especificada. Sintaxe: MONTH (expressão_data) em que:
expressão_data | Qualquer expressão avaliada como uma data.
### Month_Of_Quarter Retorna o número (entre 1 e 3) correspondente ao mês do trimestre de uma data especificada. Sintaxe: MONTH_OF_QUARTER (expressão_data) em que:
expressão_data | Qualquer expressão avaliada como uma data.
### MonthName Retorna o nome do mês (em inglês) de uma data especificada. Sintaxe: MONTHNAME (expressão_data) em que:
expressão_data | Qualquer expressão avaliada como uma data.
### Now Retorna o marcador de data/hora atuais. A função NOW equivale à função CURRENT_TIMESTAMP. Observação: esta função obtém a hora atual no momento em que o relatório é executado. Usando esta função com uma área do assunto de análise evita que o relatório seja armazenado em cache, o que reduz o desempenho. Sintaxe: NOW () ### ### Quarter_Of_Year Retorna o número (entre 1 e 4) correspondente ao trimestre do ano de uma data especificada. Sintaxe: QUARTER_OF_YEAR (expressão_data) em que:
expressão_data | Qualquer expressão avaliada como uma data.
### Second Retorna o número (entre 0 e 59) correspondente aos segundos de um tempo especificado. Sintaxe: SECOND (expressão_hora) em que:
expressão_hora | Qualquer expressão avaliada como um tempo.
### TimestampAdd A função TimestampAdd adiciona um número especificado de intervalos a um marcador de data/hora específico. Um único marcador de data/hora é retornado. Sintaxe: TimestampAdd (intervalo, expressão_inteira, expressão_marcador_data/hora) em que:
intervalo | O intervalo especificado. Os valores válidos são: SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
expressão_inteiro | Qualquer expressão avaliada como um número inteiro. Esse é o número de intervalos a ser adicionado.
expressão_data/hora | O marcador de data/hora é usado como a base do cálculo.
Uma expressão de número inteiro nulo ou uma expressão de marcador de data/hora nulo transmitida para essa função resultará em valor de retorno nulo. No cenário mais simples, esta função apenas adiciona o valor do número inteiro especificado (expressão_inteira) ao componente apropriado do marcador de data/hora, com base no intervalo. Adicionar uma semana significa adicionar sete dias, e adicionar um trimestre significa adicionar três meses. Um valor inteiro negativo resulta em subtração (voltando no tempo). Um overflow do componente especificado (por exemplo, mais de 60 segundos, 24 horas, 12 meses etc.) necessita adicionar um valor apropriado ao componente seguinte. Por exemplo, ao adicionar ao componente de dia de um marcador de data/hora, esta função considera o overflow e leva com conta o número de dias de um mês específico (incluindo anos bissextos, quando fevereiro tem 29 dias). Ao adicionar ao componente de mês de um marcador de data/hora, esta função verifica se o marcador resultante tem um número de dias suficiente para o componente de dia. Por exemplo, adicionar um mês para 2000-05-31 não resulta em 2000-06-31, porque junho não tem 31 dias. Esta função reduz o componente de dia até o último dia do mês, 2000-06-30 neste exemplo. Um problema semelhante surge ao adicionar ao componente de ano de um marcador de data/hora que tem um componente de mês fevereiro e um componente de dia 29 (ou seja, último dia de fevereiro em ano bissexto). Se o marcador de data/hora resultante não cair em ano bissexto, a função reduzirá o componente de dia para 28. Estes são exemplos de função TimestampAdd: O exemplo de código a seguir requer o marcador de data/hora resultante quando 3 dias são adicionados a 2000-02-27 14:30:00. Como fevereiro de 2000 é um ano bissexto, isso retorna um único marcador de data/hora de 2000-03-01 14:30:00. TimestampAdd(SQL_TSI_DAY, 3, TIMESTAMP‘2000-02-27 14:30:00’) O exemplo de código a seguir requer o marcador de data/hora resultante quando 7 meses são adicionados a 1999-07-31 0:0:0. Isso retorna um único marcador de data/hora de 2000-02-29 00:00:00. Observe a redução do componente de dia para 29, porque fevereiro é um mês mais curto. TimestampAdd(SQL_TSI_MONTH, 7, TIMESTAMP‘1999-07-31 00:00:00’) O exemplo de código a seguir requer o marcador de data/hora resultante quando 25 minutos são adicionados a 2000-07-31 23:35:00. Isso retorna um único marcador de data/hora de 2000-08-01 00:00:00. Observe a propagação do overflow pelo componente de mês. TimestampAdd(SQL_TSI_MINUTE, 25, TIMESTAMP‘2000-07-31 23:35:00’) ### ### TimeStampDiff A função TimestampDiff retorna o número total de intervalos especificados entre dois marcadores de data/hora. Sintaxe: TimestampDiff (intervalo, expressão_marcador_data/hora1, expressão_marcador_data/hora2) em que:
intervalo | O intervalo especificado. Os valores válidos são: SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
expressão_data/hora1 | O marcador de data/hora a ser subtraído do segundo marcador de data/hora.
expressão_data/hora2 | O segundo marcador de data/hora. expressão_marcador_data/hora1 é subtraído desse marcador de data/hora para determinar a diferença.
Um parâmetro de expressão de marcador de data/hora nulo transmitido para essa função resultará em valor de retorno nulo. Esta função determina primeiro o componente de marcador de data/hora correspondente ao parâmetro de intervalo especificado. Por exemplo, SQL_TSI_DAY corresponde ao componente de dia e SQL_TSI_MONTH corresponde ao componente de mês. Em seguida, a função verifica os componentes de maior ordem de ambos os marcadores de data/hora para calcular o número total de intervalos de cada marcador de data/hora. Por exemplo, se o intervalo especificado corresponder ao componente de mês, a função calculará o número total de meses de cada marcador de data/hora, adicionando o componente de mês e 12 vezes o componente de ano. Por fim, a função subtrai o total de intervalos do primeiro marcador de data/hora do número total de intervalos do segundo marcador de data/hora. Ao calcular a diferença em dias, a função trunca os valores de hora das duas expressões de marcador de data/hora e, em seguida, subtrai os valores de data. Ao calcular a diferença em semanas, a função calcula a diferença em dias e divide por sete antes de arredondar. Ao calcular a diferença em trimestres, a função calcula a diferença em meses e divide por três antes de arredondar. Ao calcular a diferença em anos, a função calcula a diferença em meses e divide por doze antes de arredondar. #### Função TimestampDiff e exemplo de resultados O exemplo de código a seguir requer uma diferença em dias entre os marcadores de data/hora 1998-07-31 23:35:00 e 2000-04-01 14:24:00. Isso retorna o valor 610. Observe que o ano bissexto em 2000 resulta em um dia a mais. TimestampDIFF(SQL_TSI_DAY, TIMESTAMP‘1998-07-31 23:35:00’, TIMESTAMP‘2000-04-01 14:24:00’) ### ### Week_Of_Quarter Retorna um número (entre 1 e 13) correspondente à semana do trimestre da data especificada. Sintaxe: WEEK_OF_QUARTER (expressão_data) em que:
expressão_data | Qualquer expressão avaliada como uma data.
### Week_Of_Year Retorna um número (entre 1 e 53) correspondente à semana do ano da data especificada. Sintaxe: WEEK_OF_YEAR (expressão_data) em que:
expressão_data | Qualquer expressão avaliada como uma data.
### Ano Retorna o ano da data especificada. Sintaxe: YEAR (expressão_data) em que:
expressão_data | Qualquer expressão avaliada como uma data.
Exemplo: YEAR (CURRENT_DATE)

Publicado em agosto de 2022 | Copyright © 2005, 2022, Oracle e/ou suas empresas afiliadas. Legal Notices.