Partilhar via


Função date_part

Aplica-se a:Sim marcado Databricks SQL Sim marcado Databricks Runtime

Extrai uma parte da data, data e hora ou intervalo de tempo.

Sintaxe

date_part(fieldStr, expr)

Argumentos

  • fieldStr: Um STRING literal.
  • expr: A DATE, TIMESTAMP, ou INTERVAL expressão.

Devoluções

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

Valores suportados de field quando source é DATE ou TIMESTAMP:

  • 'YEAR', 'Y', 'YEARS', 'YR', 'YRS': o campo do ano
  • 'YEAROFWEEK': O ano de numeração da semana ISO 8601 em que a data-hora se enquadra. Por exemplo, 2005-01-02 faz parte da 53ª semana do ano de 2004, portanto o resultado é 2004
  • 'QUARTER', 'QTR': O trimestre (1 - 4) do ano em que a data/hora ocorre
  • 'MONTH', 'MON', 'MONS', 'MONTHS': O campo do mês (1 - 12)
  • 'WEEK', 'W', 'WEEKS': O número do ano baseado na semana da ISO 8601. Considera-se que uma semana começa numa segunda-feira e a semana 1 é a primeira semana com >3 dias. No sistema de numeração de semanas ISO, é possível que as datas do início de janeiro façam parte da 52ª ou 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 de 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 no datetime vai de domingo(1) até sábado(7)
  • 'DAYOFWEEK_ISO', 'DOW_ISO': dia da semana com base na norma ISO 8601 para datetime, de segunda-feira(1) a domingo(7)
  • 'DOY': O dia do ano (1 - 365/366)
  • 'HOUR', 'H', 'HOURS', 'HR', : 'HRS'O campo da hora (0 - 23)
  • 'MINUTE', 'M', 'MIN', 'MINS', 'MINUTES': O campo de minutos (0 - 59)
  • 'SECOND', 'S', 'SEC', 'SECONDS', 'SECS': O campo de segundos, incluindo partes fracionárias

Os valores suportados de field quando source é INTERVAL são (sem distinção entre maiúsculas e minúsculas):

  • 'YEAR', 'Y', 'YEARS', 'YR', 'YRS': O total de meses / 12
  • 'MONTH', 'MON', 'MONS', 'MONTHS': O total dos meses % 12
  • 'DAY', 'D', 'DAYS': Os dias fazem parte do intervalo
  • 'HOUR', 'H', 'HOURS', 'HR', 'HRS': Quantas horas contém os microssegundos
  • 'MINUTE', 'M', 'MIN', 'MINS', 'MINUTES': Quantos minutos restam depois de tirar horas de microssegundos
  • 'SECOND', 'S', 'SEC', 'SECONDS', 'SECS': Quantos segundos, incluindo frações, restam após subtrair horas e minutos de microssegundos

A função date_part é um sinónimo para a função extração padrão SQL.

Por exemplo date_part('year', CURRENT_DATE) , é equivalente 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');
 12

> 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