date_part
função
Aplica-se a: Databricks SQL Databricks Runtime
Extrai uma parte da data, carimbo de data/hora ou intervalo.
Sintaxe
date_part(fieldStr, expr)
Argumentos
fieldStr
: umSTRING
literal.expr
: ADATE
,TIMESTAMP
ouINTERVAL
expressão.
Devoluções
Se fieldStr
for 'SECOND'
, a 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 ano'YEAROFWEEK'
: o ano de numeração de iso 8601 semana em que o datetime se insere. Por exemplo, 2005-01-02 faz parte da 53ª semana do ano de 2004, pelo que o resultado é 2004'QUARTER'
,'QTR'
: o trimestre (1 - 4) do ano em que o datetime se insere'MONTH'
,'MON'
,'MONS'
,'MONTHS'
: o campo mensal (1 - 12)'WEEK'
,'W'
,'WEEKS'
: o número da ISO 8601 semana-de-semana com base no ano. 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 semanal 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 próximo ano. 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 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'
: ISO 8601 based day of the week for datetime as Monday(1) to Sunday(7)'DOY'
: O dia do ano (1 - 365/366)'HOUR'
,'H'
,'HOURS'
,'HR'
,'HRS'
: o campo de hora (0 - 23)'MINUTE'
,'M'
,'MIN'
,'MINS'
,'MINUTES'
: o campo minutos (0 - 59)'SECOND'
,'S'
,'SEC'
,'SECONDS'
,'SECS'
: o campo segundos, incluindo partes fracionárias
Valores suportados de field
quando source
é INTERVAL
(não sensível a maiúsculas e 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 depois de tirar horas de microssegundos'SECOND'
,'S'
,'SEC'
,'SECONDS'
,'SECS'
: quantos segundos restam com frações depois de demorar horas e minutos a partir de microssegundos
A date_part
função é um sinónimo para a função de extração padrão do 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');
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