Padrões de datetime
Aplica-se a: Databricks SQL Databricks Runtime
Há vários cenários comuns para uso de data/hora no Azure Databricks:
- As fontes de dados CSV e JSON usam a cadeia de caracteres padrão para analisar e formatar conteúdo datetime.
- Funções de data/hora relacionadas à conversão
STRING
de eDATE
para ouTIMESTAMP
. Por exemplo:
Tabela de padrões
O Azure Databricks usa letras de padrão na tabela a seguir para análise e formatação de carimbo de data e hora:
Símbolo | Significado | Apresentação | Exemplos |
---|---|---|---|
G | era | texto | AD; Anno Domini |
y | ano | ano | 2020; 20 |
D | dia-do-ano | número(3) | 189 |
M/L | mês-do-ano | mês | 7; 07; Jul; Julho |
d | dia-do-mês | número(3) | 28 |
P/q | Trimestre-de-Ano | número/texto | 3; 03; 3º; 3º trimestre |
E | dia-da-semana | texto | Ter; Terça-feira |
F | alinhado dia da semana no mês | número(1) | 3 |
um | am-pm-de-dia | AM-PM | PM |
h | hora-relógio-da-am-pm (1-12) | número(2) | 12 |
K | Hora-da-AM-PM (0-11) | número(2) | 0 |
k | Hora-relógio do dia (1-24) | número(2) | 0 |
H | Hora-do-dia (0-23) | número(2) | 0 |
m | minuto-de-hora | número(2) | 30 |
s | segundo-de-minuto | número(2) | 55 |
S | fração de segundo | fração | 978 |
V | ID de fuso horário | identificação da zona | América/Los_Angeles; Z; -08:30 |
z | nome do fuso horário | nome-da-zona | Hora Padrão do Pacífico; PST |
O | deslocamento de zona localizado | compensação-O | GMT+8; GMT+08:00; UTC-08:00; |
X | deslocamento de zona 'Z' para zero | compensação-X | Z; -08; -0830; -08:30; -083015; -08:30:15; |
x | deslocamento de zona | compensação-x | +0000; -08; -0830; -08:30; -083015; -08:30:15; |
Z | deslocamento de zona | compensação-Z | +0000; -0800; -08:00; |
‘ | Escape para texto | delimitador | |
‘’ | citação única | Literal | ‘ |
[ | início de secção opcional | ||
] | fim de secção opcional |
A contagem de letras padrão determina o formato.
Texto: O estilo do texto é determinado com base no número de letras padrão usadas. Menos de 4 letras padrão usarão a forma de texto curto, normalmente uma abreviação, por exemplo, segunda-feira do dia da semana pode produzir "Seg". Exatamente 4 letras padrão usarão o formulário de texto completo, normalmente a descrição completa, por exemplo, segunda-feira do dia da semana pode produzir "segunda-feira". 5 ou mais letras falharão.
Número(n): O n aqui representa a contagem máxima de letras que este tipo de padrão datetime pode ser usado. Se a contagem de letras for uma, então o valor é gerado usando o número mínimo de dígitos e sem preenchimento. Caso contrário, a contagem de dígitos é usada como a largura do campo de saída, com o valor zero-acolchoado conforme necessário.
Número/Texto: Se a contagem de letras padrão for 3 ou superior, use as regras de texto acima. Caso contrário, use as regras de número acima.
Fração: Use um ou mais (até 9) caracteres contíguos
'S'
, por exemplo,SSSSSS
para analisar e formatar fração de segundo. Para a análise, o comprimento da fração aceitável pode ser [1, o número de «S» contíguos]. Para a formatação, o comprimento da fração seria acolchoado ao número de «S» contíguos com zeros. O Azure Databricks suporta datetime de precisão de micro de segundo, que tem até 6 dígitos significativos, mas pode analisar nano de segundo com a parte excedida truncada.Ano: A contagem de letras determina a largura mínima do campo abaixo da qual o preenchimento é usado. Se a contagem de letras for duas, então uma forma reduzida de dois dígitos é usada. Para impressão, isso gera os dois dígitos mais à direita. Para a análise, esta análise utilizará o valor de base de 2000, resultando num ano dentro do intervalo de 2000 a 2099, inclusive. Se a contagem de letras for inferior a quatro (mas não duas), então o sinal só é produzido para anos negativos. Caso contrário, o sinal é de saída se a largura da almofada for excedida quando 'G' não estiver presente. 7 ou mais letras falharão.
Mês: Segue a regra do Número/Texto. A forma de texto depende de letras -
'M'
denota a forma "padrão" e'L'
é para a forma "independente". Estas duas formas são diferentes apenas em algumas línguas. Por exemplo, em russo, 'Июль' é a forma independente de julho, e 'Июля' é a forma padrão. Aqui estão exemplos de todas as letras de padrão suportadas:'M'
ou'L'
: Número do mês num ano a partir de 1. Não há diferença entre'M'
e'L'
. Mês de 1 a 9 são impressos sem preenchimento.> SELECT date_format(date '1970-01-01', 'M'); 1 > SELECT date_format(date '1970-12-01', 'L'); 12
'MM'
ou'LL'
: Número do mês num ano a partir de 1. O preenchimento zero é adicionado para os meses 1-9.> SELECT date_format(date '1970-1-01', 'LL'); 01 > SELECT date_format(date '1970-09-01', 'MM'); 09
'MMM'
: Breve representação textual no formulário-tipo. O padrão de mês deve fazer parte de um padrão de data, não apenas de um mês autônomo, exceto em localidades onde não há diferença entre formulários autônomos e autônomos, como em inglês.> SELECT date_format(date '1970-01-01', 'd MMM'); 1 Jan -- Passing a format pattern to to_csv() > SELECT to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'dd MMM', 'locale', 'RU')); 01 янв.
'MMMM'
: Representação textual completa do mês no formulário-tipo. É usado para analisar/formatar meses como parte de datas/carimbos de data/hora.> SELECT date_format(date '1970-01-01', 'd MMMM'); 1 January -- Passing a format pttern to to_csv() > SELECT to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'd MMMM', 'locale', 'RU')); 1 января
am-pm: Isso produz o am-pm-of-day. A contagem de letras padrão deve ser 1.
ID da Zona(V): Isso gera a exibição da ID do fuso horário. A contagem de letras padrão deve ser 2.
Nomes de zona(z): Isso gera o nome textual de exibição do ID de fuso horário. Se a contagem de letras é uma, duas ou três, então o nome curto é saída. Se a contagem de letras for quatro, então o nome completo é saída. Cinco ou mais letras falharão.
Deslocamento X e x: formata o deslocamento com base no número de letras padrão. Uma letra produz apenas a hora, como '+01', a menos que o minuto seja diferente de zero, caso em que o minuto também é saída, como '+0130'. Duas letras produzem a hora e o minuto, sem dois pontos, como '+0130'. Três letras produzem a hora e o minuto, com dois pontos, como '+01:30'. Quatro letras produzem a hora e o minuto e um segundo opcional, sem dois pontos, como '+013015'. Cinco letras produzem a hora e o minuto e o segundo opcional, com dois pontos, como '+01:30:15'. Seis ou mais letras falharão. A letra padrão 'X' (maiúsculas) produzirá 'Z' quando o deslocamento a ser produzido for zero, enquanto a letra padrão 'x' (minúscula) produzirá '+00', '+0000' ou '+00:00'.
Deslocamento O: Formata o deslocamento localizado com base no número de letras padrão. Uma letra produz a forma curta do deslocamento localizado, que é texto deslocado localizado, como 'GMT', com hora sem zero à esquerda, minuto opcional de 2 dígitos e segundo se diferente de zero, e dois pontos, por exemplo 'GMT+8'. Quatro letras produzem o formulário completo, que é texto deslocado localizado, como 'GMT, com campo de hora e minuto de 2 dígitos, segundo campo opcional se diferente de zero, e dois pontos, por exemplo 'GMT+08:00'. Qualquer outra contagem de letras falhará.
Deslocamento Z: Formata o deslocamento com base no número de letras padrão. Uma, duas ou três letras produzem a hora e o minuto, sem dois pontos, como '+0130'. A saída é '+0000' quando o deslocamento é zero. Quatro letras produzem a forma completa de deslocamento localizado, equivalente a quatro letras de Offset-O. A saída é o texto de deslocamento localizado correspondente se o deslocamento for zero. Cinco letras produzem a hora, minuto, com segundo opcional se diferente de zero, com dois pontos. Ele produz 'Z' se o deslocamento for zero. Seis ou mais letras falharão.
Início e fim da seção opcional: Use
[]
para definir uma seção opcional e talvez aninhada. Durante a formatação, todos os dados válidos são produzidos, mesmo que estejam na seção opcional. Durante a análise, toda a seção pode estar faltando na cadeia de caracteres analisada. Uma seção opcional é iniciada e[
terminada usando]
(ou no final do padrão).Os símbolos de «E», «F», «q» e «Q» só podem ser utilizados para a formatação datetime, por exemplo.
date_format
Eles não são permitidos usados para análise de data/hora, por exemplo.to_timestamp