Compartilhar via


Função date_part

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

Extrai uma parte da data, do carimbo de data/hora ou do intervalo.

Sintaxe

date_part(fieldStr, expr)

Argumentos

  • fieldStr: um STRING literal.
  • expr: Uma DATE, TIMESTAMP ou INTERVAL expressão.

Devoluções

Se fieldStr 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

A função date_part é sinônimo da função de extração padrão do SQL.

Por exemplo, date_part('year', CURRENT_DATE) equivale a extract(YEAR FROM CURRENT_DATE)

Exemplos

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

> SELECT date_part('Week', TIMESTAMP'2019-08-12 01:00:00.123456');
 33

> SELECT date_part('day', DATE'2019-08-12');
 224

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

> SELECT date_part('Months', INTERVAL '2-11' YEAR TO MONTH);
 11

> SELECT date_part('seconds', INTERVAL '5:00:30.001' HOUR TO SECOND);
 30.001000