Função date_part
Aplica-se a: SQL do Databricks Runtime do Databricks
Extrai uma parte da data, do carimbo de data/hora ou do intervalo.
Sintaxe
date_part(fieldStr, expr)
Argumentos
fieldStr
: umSTRING
literal.expr
: UmaDATE
,TIMESTAMP
ouINTERVAL
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