Função date_part
Aplica-se a: Databricks SQL Databricks Runtime
Extrai uma parte do 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'
, um DECIMAL(8, 6)
.
Em todos os outros casos, um INTEGER
arquivo .
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 cai'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 para datetime como domingo(1) a sábado(7)'DAYOFWEEK_ISO'
,'DOW_ISO'
: ISO 8601 com base no dia da semana para datetime como 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
Valores suportados de quando source
é INTERVAL
(não diferencia maiúsculas de field
minúsculas):
'YEAR'
,'Y'
,'YEARS'
,'YR'
,'YRS'
: O total 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 com frações restantes depois de tirar horas e minutos de microssegundos
A date_part
função é um sinônimo para a função de 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');
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