| Imprimir Abrir versão PDF da ajuda online

#### Funções de data/hora do calendário As funções de data/hora do calendário manipulam os dados nos tipos de dados para data, hora e indicação de data/hora. (O tipo de dados de indicação de data/hora é uma combinação de data e hora.) ### Current_Date Devolve a data atual. A data é determinada pelo computador. O valor não contém um componente de hora. Sintaxe: CURRENT_DATE ### ### Current_Time Devolve a hora atual. A hora é determinada pelo computador. O valor não contém um componente de data. Nota: Esta função obtém a hora atual no momento em que o relatório é executado. Ao utilizar esta função com uma área de atividade do Analytics impede o relatório de entrar em cache, o que diminui 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 os quais é apresentado a fração de segundo. O argumento é opcional; a função devolve a precisão predefinida quando não é especificado qualquer argumento.
### Current_TimeStamp Devolve a data ou a marca de data/hora atual. A marca de hora/data é determinada pelo computador. Nota: Esta função obtém a hora atual no momento em que o relatório é executado. Ao utilizar esta função com uma área de atividade do Analytics impede o relatório de entrar em cache, o que diminui 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 os quais é apresentado a fração de segundo. O argumento é opcional; a função devolve a precisão predefinida quando não é especificado qualquer argumento.
### Day_Of_Quarter Devolve um número (entre 1 e 92) que corresponde ao dia do trimestre da data especificada. Sintaxe: DAY_OF_QUARTER (expressão_data) em que:
date_expression | Qualquer expressão que devolve uma data.
### DayName Devolve o nome do dia da semana (em inglês) da data especificada. Sintaxe: DAYNAME (date_expression) em que:
date_expression | Qualquer expressão que devolve uma data.
### DayOfMonth Devolve o número que corresponde ao dia do mês da data especificada. Sintaxe: DAYOFMONTH (date_expression) em que:
date_expression | Qualquer expressão que devolve uma data.
### DayOfWeek Devolve um número entre 1 e 7 que corresponde ao dia da semana de uma data especificada. O número 1 corresponde a domingo e o número 7 corresponde a sábado. Sintaxe: DAYOFWEEK (date_expression) em que:
date_expression | Qualquer expressão que devolve uma data.
### DayOfYear Devolve o número (entre 1 e 366) que corresponde ao dia do ano de uma data especificada. Sintaxe: DAYOFYEAR (date_expression) em que:
date_expression | Qualquer expressão que devolve uma data.
### Hour Devolve um número (entre 0 e 23) que corresponde às horas de uma hora especificada. Por exemplo, 0 corresponde a 00:00 e 23 corresponde a 23:00. Sintaxe: HOUR (time_expression) em que:
time_expression | Qualquer expressão que devolve uma hora.
### Minute Devolve um número (entre 0 e 59) que corresponde aos minutos de uma hora especificada. Sintaxe: MINUTE (time_expression) em que:
time_expression | Qualquer expressão que devolve uma hora.
### Month Devolve o número (entre 1 e 12) que corresponde ao mês de uma data especificada. Sintaxe: MONTH (date_expression) em que:
date_expression | Qualquer expressão que devolve uma data.
### Month_Of_Quarter Devolve o número (entre 1 e 3) que corresponde ao mês do trimestre de uma data especificada. Sintaxe: MONTH_OF_QUARTER (expressão_data) em que:
date_expression | Qualquer expressão que devolve uma data.
### MonthName Devolve o nome do mês (em inglês) de uma data especificada. Sintaxe: MONTHNAME (date_expression) em que:
date_expression | Qualquer expressão que devolve uma data.
### Now Devolve a indicação de data/hora atual. A função NOW é equivalente à função CURRENT_TIMESTAMP. Nota: Esta função obtém a hora atual no momento em que o relatório é executado. Ao utilizar esta função com uma área de atividade do Analytics impede o relatório de entrar em cache, o que diminui o desempenho. Sintaxe: NOW () ### ### Quarter_Of_Year Devolve o número (entre 1 e 4) que corresponde ao trimestre de uma data especificada. Sintaxe: QUARTER_OF_YEAR (expressão_data) em que:
date_expression | Qualquer expressão que devolve uma data.
### Second Devolve o número (entre 0 e 59) que corresponde aos segundos de uma hora especificada. Sintaxe: SECOND (time_expression) em que:
time_expression | Qualquer expressão que devolve uma hora.
### TimestampAdd A função TimestampAdd acrescenta um número de intervalos especificado a uma indicação de data/hora especificada. É devolvida uma única indicação de data/hora. Sintaxe: TimestampAdd (intervalo, expressão_númerointeiro, expressão_carimbodedata/hora) em que:
interval | The specified interval. Valid values are: SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
integer_expression | Qualquer expressão que devolve um número inteiro. Este é o número de intervalos a acrescentar.
timestamp_expression | A indicação de data/hora utilizada como base no cálculo.
Uma expressão de número inteiro nula ou expressão de indicação de data/hora nula transmitida para esta função irá originar um valor de devolução nulo. No cenário mais simples, esta função acrescenta apenas o número inteiro especificado (integer_expression) ao componente adequado da indicação de data/hora, baseada no intervalo. Acrescentar uma semana significa acrescentar sete dias e acrescentar um trimestre significa acrescentar três meses. Um número inteiro negativo origina uma subtração (voltar atrás no tempo). Um excesso do componente especificado (tal como mais do que 60 segundos, 24 horas, doze meses e assim sucessivamente) necessita da adição de um montante adequado ao componente seguinte. Por exemplo, quando acrescentar ao componente de dia de uma indicação de data/hora, esta função considera como excesso e assume o número de dias de um determinado mês (incluindo anos bissextos quando fevereiro tem 29 dias). Quando acrescentar ao componente de mês de uma indicação de data/hora, esta função verifica se a indicação de data/hora resultante tem um número suficiente de dias para o componente de dia. Por exemplo, se acrescentar 1 mês a 2000-05-31 não origina 2000-06-31 uma vez que Junho não tem 31 dias. Esta função reduz o componente de dia para o último dia do mês, 2000-06-30 neste exemplo. Surge uma questão semelhante quando acrescentar ao componente de ano de uma indicação de data/hora que tem fevereiro como componente de mês e 29 como componente de dia (ou seja, o último dia de fevereiro num ano bissexto). Se a indicação de data/hora resultante não coincidir num ano bissexto, a função reduz o componente de dia para 28. Seguem-se exemplos da função TimestampAdd: O seguinte exemplo de código solicita a indicação de data/hora resultante quando são acrescentados 3 dias a 2000-02-27 14:30:00. Uma vez que fevereiro, 2000 é um ano bissexto, isto devolve a única indicação de data/hora 2000-03-01 14:30:00. TimestampAdd(SQL_TSI_DAY, 3, TIMESTAMP‘2000-02-27 14:30:00’) O seguinte exemplo de código solicita a indicação de data/hora resultante quando são acrescentados 7 meses a 1999-07-31 0:0:0. Isto devolve a única indicação de data/hora 2000-02-29 00:00:00. Tenha em atenção a redução do componente de dia para 29 devido ao mês de Fevereiro com menos dias. TimestampAdd(SQL_TSI_MONTH, 7, TIMESTAMP‘1999-07-31 00:00:00’) O seguinte exemplo de código solicita a indicação de data/hora resultante quando são acrescentados 25 minutos a 2000-07-31 23:35:00. Isto devolve a única indicação de data/hora 2000-08-01 00:00:00. Tenha em atenção a propagação do excesso através do componente de mês. TimestampAdd(SQL_TSI_MINUTE, 25, TIMESTAMP‘2000-07-31 23:35:00’) ### ### TimeStampDiff A função TimestampDiff devolve o número total de intervalos especificados entre duas indicações de data/hora. Sintaxe: TimestampDiff (intervalo, expressão_carimbodedata/hora1, expressão_carimbodedata/hora2) em que:
interval | The specified interval. Valid values are: SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
timestamp_expression1 | A indicação de data/hora a subtrair da segunda indicação de data/hora.
timestamp_expression2 | A segunda indicação de data/hora. O valor de timestamp_expression1 é subtraído a partir desta indicação de data/hora para determinar a diferença.
Um parâmetro de expressão de indicação de data/hora nula transmitido para esta função irá originar um valor de devolução nulo. Esta função determina primeiro o componente de indicação de data/hora que corresponde 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 ordenação superiores das duas indicações de data/hora para calcular o número total de intervalos para cada indicação de data/hora. Por exemplo, se o intervalo especificado corresponder ao componente de mês, a função calcula o número total de meses para cada indicação de data/hora acrescentando o componente de mês e doze vezes o componente de ano. Finalmente, a função subtrai o número total de intervalos da primeira indicação de data/hora ao número total de intervalos da segunda indicação de data/hora. Quando calcula a diferença em dias, a função efetua o truncamento dos valores de tempo das duas expressões Marca de data/hora e, em seguida, subtrai os valores da data. Durante o cálculo da diferença em semanas, a função calcula a diferença em dias e divide por sete antes do arredondamento. Durante o cálculo da diferença em trimestres, a função calcula a diferença em meses e divide por três antes do arredondamento. Durante o cálculo da diferença em anos, a função calcula a diferença em meses e divide por doze antes do arredondamento. #### Função TimestampDiff e exemplo de resultados O seguinte exemplo de código solicita uma diferença em dias entre as indicações de data/hora 1998-07-31 23:35:00 e 2000-04-01 14:24:00. Devolve o valor 610. Tenha em atenção que o ano bissexto em 2000 origina um dia adicional. TimestampDIFF(SQL_TSI_DAY, TIMESTAMP‘1998-07-31 23:35:00’, TIMESTAMP‘2000-04-01 14:24:00’) ### ### Week_Of_Quarter Devolve um número (entre 1 e 13) que corresponde à semana do trimestre da data especificada. Sintaxe: WEEK_OF_QUARTER (expressão_data) em que:
date_expression | Qualquer expressão que devolve uma data.
### Week_Of_Year Devolve um número (entre 1 e 53) que corresponde à semana do ano da data especificada. Sintaxe: WEEK_OF_YEAR (expressão_data) em que:
date_expression | Qualquer expressão que devolve uma data.
### Ano Devolve o ano da data especificada. Sintaxe: YEAR (date_expression) em que:
date_expression | Qualquer expressão que devolve uma data.
Exemplo: YEAR (CURRENT_DATE)

Publicado em Agosto 2022 | Copyright © 2005, 2022, Oracle e/ou respetivas associadas. Legal Notices.