Compartilhar via


Função extract

Aplica-se a:marca de seleção positiva SQL do Databricks marca de seleção positiva Runtime do Databricks

Retorna field de source.

Observação

Ao extrair campos de um TIMESTAMP (TIMESTAMP_LTZ), o resultado é baseado no fuso horário da sessão.

Sintaxe

extract(field FROM source)

Argumentos

  • field: uma palavra-chave que seleciona a parte de source que deve ser extraída.
  • source: A DATE, TIMESTAMP, TIMESTAMP_NTZou INTERVAL expressão.

Devoluções

Se field for SECOND, um DECIMAL(8, 6). Em todos os outros casos INTEGER.

Valores com suporte de field quando source for DATE ou TIMESTAMP:

  • YEAR, Y, YEARS, YR, YRS: o campo do ano
  • YEAROFWEEK: o ano de numeração da semana ISO 8601 em que o datetime cai. Por exemplo, 2005-01-02 faz parte da 53ª semana do ano 2004. Portanto, o resultado é 2004
  • QUARTER, QTR: o trimestre (1 - 4) do ano em que o datetime cai
  • MONTH, MON, MONS, MONTHS: o campo do mês (1 - 12)
  • WEEK, W, WEEKS: o número do ano em semana a semana baseado no ISO 8601. Considera-se que a semana comece em uma segunda-feira e a semana 1 seja a primeira semana com >três dias. No sistema de numeração de semana ISO, é possível que as datas do início de janeiro façam parte da 52ª ou da 53ª semana do ano anterior e que as datas do final de dezembro façam parte da primeira semana do ano seguinte. Por exemplo, 2005-01-02 faz parte da 53ª semana do ano 2004, enquanto 2012-12-31 faz parte da primeira semana de 2013
  • DAY, D, DAYS: o campo do dia do mês (1 - 31)
  • DAYOFWEEK, DOW: o dia da semana para datetime como domingo (1) a sábado (7)
  • DAYOFWEEK_ISO, DOW_ISO: o dia da semana baseado em ISO 8601 para datetime como segunda-feira (1) a domingo (7)
  • DOY: o dia do ano (1 - 365/366)
  • HOUR, H, HOURS, HR, HRS: o campo das hora (0 - 23)
  • MINUTE, M, MIN, MINS, MINUTES: o campo do minutos (0 - 59)
  • SECOND, S, SEC, SECONDS, SECS: o campo do segundos, incluindo partes fracionárias

Valores com suporte de field quando source for INTERVAL (não diferencia maiúsculas de minúsculas):

  • YEAR, Y, YEARS, YR, YRS: o total de meses/12
  • MONTH, MON, MONS, MONTHS: o total de meses/12
  • DAY, D, DAYS: a parte de dias do intervalo
  • HOUR, H, HOURS, HR, HRS: quantas horas os microssegundos contêm
  • MINUTE, M, MIN, MINS, MINUTES: quantos minutos restam após tirar as horas dos microssegundos
  • SECOND, S, SEC, SECONDS, SECS: o tempo em segundos com frações restantes após a contagem de horas e de minutos dos microssegundos

Para retornar o acrônimo de três letras para o dia da semana, use a função dayname .

Exemplos

> SELECT extract(YEAR FROM TIMESTAMP '2019-08-12 01:00:00.123456');
 2019

> SELECT extract(week FROM TIMESTAMP'2019-08-12 01:00:00.123456');
 33

> SELECT extract(DAY FROM DATE'2019-08-12');
 12

> SELECT extract(SECONDS FROM TIMESTAMP'2019-10-01 00:00:01.000001');
 1.000001

> SELECT extract(MONTHS FROM INTERVAL '2-11' YEAR TO MONTH);
 11

> SELECT extract(SECONDS FROM INTERVAL '5:00:30.001' HOUR TO SECOND);
 30.001000