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.

Sintaxe

extract(field FROM source)

Argumentos

  • field: uma palavra-chave que seleciona a parte de source que deve ser extraída.
  • source: Uma DATE, TIMESTAMP ou 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

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