EXTRACT (datetime) (Português)

Sintaxe

extract_datetime :: =

Descrição da ilustração extract_datetime.gif

Objetivo

EXTRACT extrai e retorna o valor de um campo datetime especificado de uma expressão de valor datetime ou intervalo. Quando você extrai um TIMEZONE_REGION ou TIMEZONE_ABBR (abreviação), o valor retornado é uma string contendo o nome ou abreviação do fuso horário apropriado. Quando você extrai qualquer um dos outros valores, o valor retornado está no calendário gregoriano. Ao extrair de uma data e hora com um valor de fuso horário, o valor retornado é em UTC. Para obter uma lista de nomes de fusos horários e suas abreviações correspondentes, consulte a V$TIMEZONE_NAMES visualização dinâmica de desempenho.

Esta função pode ser muito útil para manipular valores de campos de data e hora em tabelas grandes, conforme mostrado no primeiro exemplo abaixo.

Nota:

Os nomes das regiões de fuso horário são necessários para o recurso de horário de verão. Os nomes das regiões são armazenados em dois arquivos de fuso horário. O arquivo de fuso horário padrão é um pequeno arquivo que contém apenas os fusos horários mais comuns para maximizar o desempenho. Se o seu fuso horário não estiver no arquivo padrão, você não terá suporte para o horário de verão até fornecer um caminho para o arquivo completo (maior) por meio da variável de ambiente ORA_TZFILE.

Algumas combinações de campo datetime e expressão de valor datetime ou intervalo resultam em ambigüidade. Nesses casos, o banco de dados Oracle retorna UNKNOWN (consulte os exemplos a seguir para obter informações adicionais).

O campo que você está extrando deve ser um campo de datetime_value_expr ou interval_value_expr. Por exemplo, você pode extrair apenas YEAR, MONTH e DAY de um DATE valor. Da mesma forma, você pode extrair TIMEZONE_HOUR e TIMEZONE_MINUTE apenas do TIMESTAMP WITH TIME ZONE tipo de dados.

Veja também:

  • Guia do administrador do banco de dados Oracle para obter mais informações sobre como definir a ORA_TZFILE variável de ambiente

  • Oracle Guia de suporte à globalização de banco de dados. Para obter uma lista completa dos nomes das regiões de fuso horário em ambos os arquivos

  • “Aritmética de data / hora / intervalo” para obter uma descrição de datetime_value_expr e interval_value_expr

  • Referência do banco de dados Oracle para obter informações sobre as visualizações de desempenho dinâmico

Exemplos

O exemplo a seguir retorna da tabela oe.orders o número de pedidos feitos em cada mês:

O exemplo a seguir retorna o ano de 1998.

SELECT EXTRACT(YEAR FROM DATE "1998-03-07") FROM DUAL;EXTRACT(YEARFROMDATE"1998-03-07")--------------------------------- 1998

O exemplo a seguir s elege da tabela de amostra hr.employees todos os funcionários que foram contratados após 1998:

O exemplo a seguir resulta em ambigüidade, então o Oracle retorna UNKNOWN:

A ambigüidade surge porque o deslocamento numérico do fuso horário é fornecido na expressão e esse deslocamento numérico pode mapear para mais de uma região do fuso horário.

Leave a Reply

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *