Padrões de datetime
Existem vários cenários comuns para o uso da hora de data no SQL Analytics:
- As fontes de dados CSV e JSON utilizam a cadeia de padrões para analisar e formatar o conteúdo da hora de data.
- Funções de data relacionadas com conversão
StringType
de e para ouDateType
TimestampType
. Por exemplo,unix_timestamp
date_format
to_unix_timestamp
from_unixtime
to_date
to_timestamp
from_utc_timestamp
to_utc_timestamp
.
A SQL Analytics utiliza letras padrão na tabela seguinte para a análise e formatação da 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 | month | 7; 07; Jul; Julho |
d | dia-do-dia | número(3) | 28 |
Q/q | trimestre do ano | número/texto | 3; 03; Terceiro trimestre; 3º trimestre |
E | dia-de-semana | texto | Tue; Terça-feira |
F | dia alinhado da semana no mês | número(1) | 3 |
um | am-pm-do-dia | am-pm | PM |
h | relógio-hora-de-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 | minutos de hora | número(2) | 30 |
s | segundo de minuto | número(2) | 55 |
S | fração de segundo | fraction | 978 |
V | ID de fuso horário | zona id | América/Los_Angeles; Z; -08:30 |
z | nome de fuso horário | nome de zona | Horário padrão do Pacífico; PST |
O | zona-offset localizada | offset-O | GMT+8; GMT+08:00; UTC-08:00; |
X | zona-offset 'Z' para zero | offset-X | Z; -08; -0830; -08:30; -083015; -08:30:15; |
x | compensação de zonas | offset-x | +0000; -08; -0830; -08:30; -083015; -08:30:15; |
Z | compensação de zonas | offset-Z | +0000; -0800; -08:00; |
‘ | fuga para o 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 de texto é determinado com base no número de letras padrão utilizadas. Menos de 4 letras padrão usarão o formulário de texto curto, tipicamente uma abreviatura, por exemplo, segunda-feira do dia-a-semana pode ser saída "Mon". Exatamente 4 letras padrão usarão o formulário de texto completo, tipicamente a descrição completa, por exemplo, o dia-a-semana de segunda-feira pode ser a saída "Segunda-feira". 5 ou mais letras falharão.
Número(n): O n aqui representa a contagem máxima de letras este tipo de padrão de hora de data pode ser usado. Se a contagem de letras for uma, então o valor é a saída usando o número mínimo de dígitos e sem enchimento. Caso contrário, a contagem de dígitos é utilizada como a largura do campo de saída, com o valor acolchoado acolchoado conforme necessário.
Número/Texto: Se a contagem de letras padrão for 3 ou superior, utilize as regras do Texto acima. Caso contrário, utilize as regras número acima.
Fração: Utilize um ou mais (até 9) caracteres contíguos,
'S'
porSSSSSS
exemplo, para analisar e em formato 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 formatação, o comprimento da fração seria acolchoado ao número de 'S' contíguos com zeros. A SQL Analytics suporta datas de precisão micro-de segundo, que tem até 6 dígitos significativos, mas pode analisar nano-de-segundo com parte truncada.Ano: A contagem de letras determina a largura mínima do campo abaixo da qual é utilizado o enchimento. Se a contagem de letras for de dois, então é usado um formulário reduzido de dois dígitos. Para impressão, isto produz os dois dígitos mais à direita. Para a análise, isto será analisado utilizando o valor base de 2000, resultando num ano dentro do intervalo 2000-2099 inclusive. Se a contagem de letras for inferior a quatro (mas não duas), então o sinal é apenas de saída 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. O formulário de texto depende de letras -
'M'
denota o formulário 'standard' e'L'
é para forma 'autónoma'. Estas duas formas são diferentes apenas em algumas línguas. Por exemplo, em russo, "Июль" é a forma autónoma de julho, e "Июля" é a forma padrão. Aqui estão exemplos para todas as letras de padrão suportadas:'M'
ou'L'
: Número de mês num ano a partir de 1. Não há diferença entre'M'
'L'
e. . O mês de 1 a 9 é impresso sem enchimento.select date_format(date '1970-01-01', "M"); 1 select date_format(date '1970-12-01', "L"); 12
'MM'
ou'LL'
: Número de mês num ano a partir de 1. Acolchoamento zero é adicionado para o mês 1-9.select date_format(date '1970-1-01', "LL"); 01 select date_format(date '1970-09-01', "MM"); 09
'MMM'
: Representação textual curta no formulário padrão. O padrão do mês deve fazer parte de um padrão de data não apenas um mês autónomo, exceto locais onde não há diferença entre formas de stand e autónoma como em inglês.select date_format(date '1970-01-01', "d MMM"); 1 Jan select to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'dd MMM', 'locale', 'RU')); 01 янв.
'LLL'
: Representação textual curta na forma autónoma. Deve ser utilizado para formato/análise apenas meses sem quaisquer outros campos de data.select date_format(date '1970-01-01', "LLL");
Jan
select to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'LLL', 'locale', 'RU'));
янв.
'MMMM'
: representação textual completa no formulário normal. É utilizado para analisar/formatar meses como parte de datas/timetamps.select date_format(date '1970-01-01', "d MMMM");
1 January
select to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'd MMMM', 'locale', 'RU'));
1 января
'LLLL'
: representação textual completa na forma autónoma. O padrão pode ser usado para formato/parse apenas meses.select date_format(date '1970-01-01', "LLLL");
January
select to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'LLLL', 'locale', 'RU'));
январь
am-pm: Esta saídas o am-pm-do-dia. A contagem de letras padrão deve ser 1.
ID de zona(V): Isto permite visualizar o ID do fuso horário. A contagem de letras padrão deve ser 2.
Nomes de zona(z): Isto produz o nome textual do iD do 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 é quatro, então o nome completo é saída. Cinco ou mais letras vão falhar.
Offset X e x: Este formatos o offset com base no número de letras padrão. Uma letra produz apenas a hora, como '+01', a menos que o minuto não seja zero, caso em que o minuto também é saída, como '+0130'. Duas letras desema ção por hora e minuto, sem cólon, como '+0130'. Três letras desema ção por hora e minuto, com um cólon, como '+01:30'. Quatro letras desema ção da hora e minuto e segunda opcional, sem cólon, como '+013015'. Cinco letras desema ção da hora e minuto e segunda opcional, com um cólon, como '+01:30:15'. Seis ou mais letras vão falhar. A letra padrão 'X' (maiúscula) irá der o 'Z' quando a compensação a ser de saída seria zero, enquanto a letra padrão 'x' (minúscula) irá der o produção '+00', '+0000', ou '+00:00'.
Offset O: Este formatos o offset localizado com base no número de letras padrão. Uma letra produz a forma curta do offset localizado, que é localizado texto offset, como 'GMT', com hora sem liderar zero, opcional minuto de 2 dígitos e segundo se não-zero, e cólon, por exemplo 'GMT+8'. Quatro letras derramam o formulário completo, que é localizado texto offset, como 'GMT, com campo de 2 dígitos de hora e minutos, segundo campo opcional se não-zero, e cólon, por exemplo 'GMT+08:00'. Qualquer outra contagem de cartas falhará.
Offset Z: Este formatos o offset com base no número de letras padrão. Uma, duas ou três letras desema produção de hora e minuto, sem cólon, como '+0130'. A saída é '+0000' quando o offset é zero. Quatro letras derramam a forma completa de compensação localizada, equivalente a quatro letras de Offset-O. A saída é o texto offset localizado correspondente se a compensação for zero. Cinco letras desema ção por hora, minuto, com opcional segundo se não zero, com cólon. Produz 'Z' se o offset for zero. Seis ou mais letras vão falhar.
Início e fim da secção opcional: Utilize
[]
para definir uma secção opcional e talvez aninhada. Durante a formatação, todos os dados válidos são de saída mesmo que está na secção opcional. Durante a análise, toda a secção pode estar ausente da corda de parsed. Uma secçã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 formatação de datas, por
date_format
exemplo. Não são permitidos para a análise da hora de data, porto_timestamp
exemplo.