Função EXTRACT

A função EXTRACT extrai campos (ou calcula valores) de valores e intervalos data/hora.

O resultado é INTEGER para extrações de YEAR, MONTH, DAY, HOUR, MINUTE, DAYS, DAYOFYEAR, DAYOFWEEK, MONTHS, QUARTEROFYEAR, QUARTERS, WEEKS, WEEKOFYEAR e WEEKOFMONTH, mas FLOAT para extrações de SECOND e BOOLEAN para extrações de ISLEAPYEAR. Se SourceDate for NULL, o resultado é NULL independentemente do tipo de extração.

SINTAXE

EXTRACT extrai campos individuais de valores e intervalos datetime. Você pode extrair um campo somente se ele estiver presente no valor de data/hora especificado no segundo parâmetro. Se o campo solicitado não existir no tipo de dados, será gerada uma análise de tempo ou um erro de tempo de execução.

A tabela a seguir descreve as extrações suportadas em Versão 6.0:
Nota: Todos os novos valores inteiros iniciam com 1.
Tabela 1.
Extract Descrição
YEAR Ano
MONTH Mês
DAY Dia
HOUR Hora
MINUTE Minuto
SECOND Segundo
DAYS Dias encontrados entre 1 de Janeiro de 0001 e SourceDate.
DAYOFYEAR Dia do ano
DAYOFWEEK Dia da semana: Domingo = 1, Segunda-feira = 2, Terça-feira = 3, Quarta-feira = 4, Quinta-feira = 5, Sexta-feira = 6, Sábado = 7.
MONTHS Meses encontrados entre 1 de Janeiro de 0001 e SourceDate.
QUARTEROFYEAR Quartil do ano: De Janeiro a Março = 1, de Abril a Junho = 2, de Julho a Setembro = 3, de Outubro a Dezembro = 4.
QUARTERS Quartis encontrados entre 1 de Janeiro de 0001 e SourceDate.
WEEKS Semanas encontradas entre 1 de Janeiro de 0001 e SourceDate.
WEEKOFYEAR Semana do ano
WEEKOFMONTH Semana do mês
ISLEAPYEAR Se é um ano binário
Notes:
  1. Uma semana é definida como segunda-feira a sábado, e não quaisquer sete dias consecutivos. É necessário converter para um esquema alternativo de representação, se requerido.
  2. O período de data e hora de origem é 1º de janeiro de 0001. As datas antes do período não são válidas para esta função.
  3. O calendário Gregoriano é assumido para cálculo.

Exemplo

EXTRACT(YEAR FROM CURRENT_DATE)
e
EXTRACT(HOUR FROM LOCAL_TIMEZONE)
os dois funcionam com erro, mas
EXTRACT(DAY FROM CURRENT_TIME)
falha.
EXTRACT (DAYS FROM DATE
'2000-02-29')
calcula o número de dias encontrados desde o ano 1 a '2000-02-29' e
EXTRACT (DAYOFYEAR
FROM CURRENT_DATE)
calcula o número de dias encontrados desde o início do ano atual, mas
EXTRACT (DAYOFYEAR FROM
CURRENT_TIME)
falha, pois CURRENT_TIME não contém informações sobre a data.
Conceitos relacionados
Visão Geral do ESQL
Tarefas relacionadas
Desenvolvendo ESQL
Referências relacionadas
Diagramas de Sintaxe: Tipos Disponíveis
Funções de Data/Hora ESQL
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ak05420_