Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Função
Aplica-se a:
Databricks SQL
Databricks Runtime
Devolução field de source.
Observação
Ao extrair campos de um TIMESTAMP (TIMESTAMP_LTZ), o resultado baseia-se no fuso horário da sessão.
Sintaxe
extract(field FROM source)
Argumentos
-
field: Uma palavra-chave que selecciona qual parte desourcedeve ser extraída. -
source: UmaDATE,TIMESTAMP,TIMESTAMP_NTZ, ouINTERVALexpressão.
Devoluções
Se field 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 e hora se enquadra -
MONTH,MON,MONS,MONTHS: O campo do mês (1 - 12) -
WEEK,W,WEEKS: O número da semana do ano baseado em semanas 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: Dia da semana baseado no padrão ISO 8601 para data e hora, de segunda-feira(1) a domingo(7) -
DOY: O dia do ano (1 - 365/366) -
HOUR,H,HOURS,HR, :HRSO campo da hora (0 - 23) -
MINUTE,M,MIN,MINS:MINUTESO 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 (insensível a 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 com frações restantes depois de tirar horas e minutos de microssegundos
Para retornar o acrônimo de três letras para o dia da semana, use a função dayname.
Exemplos
> SELECT extract(YEAR FROM TIMESTAMP '2019-08-12 01:00:00.123456');
2019
> SELECT extract(week FROM TIMESTAMP'2019-08-12 01:00:00.123456');
33
> SELECT extract(DAY FROM DATE'2019-08-12');
12
> SELECT extract(SECONDS FROM TIMESTAMP'2019-10-01 00:00:01.000001');
1.000001
> SELECT extract(MONTHS FROM INTERVAL '2-11' YEAR TO MONTH);
11
> SELECT extract(SECONDS FROM INTERVAL '5:00:30.001' HOUR TO SECOND);
30.001000