Este tópico descreve as funções SQL compatíveis com tabelas de mapeamento criadas para analytical stores na consulta de dados com a instrução SELECT. As funções incluem operações de séries temporais, tempo, agregação, matemática e strings.
Funções de séries temporais
|
Função |
Tipo de saída |
Descrição |
|
time_bin(_time,interval) |
Datetime |
Agrupa dados por tempo quando utilizada com group by. Por exemplo, use O parâmetro _time indica a coluna de tempo da série temporal _time. O parâmetro interval é do tipo String e define a frequência do agrupamento. Esse parâmetro aceita abreviações de unidades de tempo. Exemplos: |
|
tag_value_at(_tags,tag_key) |
Varchar |
Retorna o valor correspondente à chave especificada nas tags da série temporal. O parâmetro _tags refere-se à coluna de tags da série temporal _tags, enquanto tag_key identifica uma chave específica nessas tags. |
Funções de tempo
Ao utilizar o recurso de analytical store no console do Tablestore, os valores de saída do tipo Datetime seguem o fuso horário do sistema (UTC+8 para a China, ou seja, horário de Pequim). Já ao acessar esse recurso pelos SDKs do Tablestore, a conversão ocorre para UTC. Ajuste os fusos horários conforme a necessidade do seu negócio. Este tópico adota como exemplo o horário de Pequim, correspondente ao fuso UTC+8.
|
Função |
Tipo de saída |
Descrição |
|
from_unixtime(unix_timestamp) |
Datetime |
Converte um timestamp Unix para o tipo Datetime, ajusta o fuso horário e retorna o resultado. Por exemplo, O parâmetro unix_timestamp representa um timestamp Unix com precisão em segundos. |
|
from_unixtime(unix_timestamp,fsp) |
Datetime |
Transforma um timestamp Unix em Datetime, aplica a conversão de fuso horário e devolve o valor arredondado para fsp casas decimais. Como ilustração, O parâmetro unix_timestamp indica um timestamp Unix preciso até segundos. Já fsp define a precisão decimal, limitada a 6. Valores acima de 6 geram exceção, enquanto valores negativos desativam o arredondamento. |
|
from_unixtime_millis(unix_timestamp_millis) |
Datetime |
Converte um timestamp Unix para Datetime, considerando o fuso horário adequado. Assim, Use unix_timestamp_millis para fornecer um timestamp Unix com precisão em milissegundos. |
|
from_unixtime_micros(unix_timestamp_micros) |
Datetime |
Muda um timestamp Unix para o formato Datetime, respeitando o fuso horário. Por exemplo, a chamada O parâmetro unix_timestamp_micros exige um timestamp Unix com exatidão em microssegundos. |
|
unix_timestamp() |
Double |
Fornece o timestamp Unix atual, preciso em segundos, conforme o fuso horário vigente. |
|
unix_timestamp_millis() |
Double |
Obtém o timestamp Unix do momento atual, arredondado para o segundo mais próximo e expresso em milissegundos, seguindo o fuso horário local. Uma chamada a Essa função equivale a Importante
Embora o timestamp contenha dígitos de milissegundos, sua precisão real permanece em segundos. |
|
unix_timestamp_millis(datetime) |
Double |
Devolve o timestamp Unix em milissegundos, mantendo o fuso horário do parâmetro datetime. Especifique datetime como um valor do tipo Datetime. |
|
unix_timestamp_millis(datestr) |
Double |
Calcula o timestamp Unix em milissegundos para a data indicada por datestr, preservando seu fuso horário original. Se você executar O parâmetro datestr deve ser uma string de tempo contendo ano, mês e dia explicitamente. Os valores válidos variam de Importante
|
|
unix_timestamp_micros() |
Double |
Retorna o timestamp Unix atual no nível de microssegundos, baseado no fuso horário corrente. Note que a precisão efetiva ainda é em segundos. Por exemplo, Esta operação corresponde a Importante
Apesar de apresentar dígitos de microssegundos, a precisão do timestamp mantém-se em segundos. |
|
unix_timestamp_micros(datetime) |
Double |
Produz o timestamp Unix em microssegundos, respeitando o fuso horário associado ao parâmetro datetime. Informe datetime como um valor do tipo Datetime. |
|
unix_timestamp_micros(datestr) |
Double |
Gera o timestamp Unix com precisão em microssegundos para a data e hora definidas em datestr, considerando o fuso horário da string. A execução de A string datestr precisa conter ano, mês e dia explícitos. O intervalo aceito vai de Importante
|
|
timediff(expr1,expr2) |
Time |
Determina a diferença entre os parâmetros expr1 e expr2. Os parâmetros expr aceitam tipos Datetime, Time ou String. |
|
addtime(expr1,expr2) |
Mesmo tipo de expr1 |
Soma os valores de expr1 e expr2. Enquanto expr1 pode ser Datetime ou Time, expr2 deve ser exclusivamente do tipo Time. |
|
date(datetime) |
Date |
Extrai apenas a parte da data de um valor datetime. O argumento datetime deve ser do tipo Datetime. |
|
hour(expr) |
BigInt |
Isola a componente horária do valor fornecido em expr. Aceita valores dos tipos Datetime ou Time. |
|
minute(expr) |
BigInt |
Recupera os minutos presentes no parâmetro expr. Compatível com entradas Datetime ou Time. |
|
second(expr) |
BigInt |
Identifica os segundos contidos em expr. Funciona com tipos Datetime ou Time. |
|
microsecond(expr) |
BigInt |
Lê a fração em microssegundos do valor de expr. Requer entrada do tipo Datetime ou Time. |
|
month(expr) |
BigInt |
Indica o mês extraído de expr. Admite valores Datetime ou Date. |
|
year(expr) |
BigInt |
Mostra o ano correspondente ao parâmetro expr. Suporta tipos Datetime ou Date. |
|
week(expr) |
BigInt |
Informa em qual semana do ano se enquadra a data de expr. Utilize entradas Datetime ou Date. |
|
week(expr,mode) |
BigInt |
Calcula a semana do ano para a data em expr, seguindo a lógica definida pelo parâmetro mode. O parâmetro expr aceita Datetime ou Date. A imagem abaixo detalha os valores possíveis para mode (compatível com MySQL).
|
|
weekday(expr) |
BigInt |
Atribui um índice numérico ao dia da semana: 0 para segunda-feira, 1 para terça-feira, sucessivamente até 6 para domingo. Permite argumentos Datetime ou Date. |
|
weekofyear(expr) |
BigInt |
Determina o número da semana no ano (entre 1 e 53). Equivale a chamar WEEK(date,3). Válido para tipos Datetime ou Date. |
|
dayofmonth(expr) |
BigInt |
Aponta o dia do mês, variando de 1 a 31. Aceita Datetime ou Date como entrada. |
|
dayofweek(expr) |
BigInt |
Mapeia o dia da semana para um índice onde 1 representa domingo, 2 segunda-feira, chegando a 7 para sábado. Compatível com Datetime ou Date. |
|
dayofyear(expr) |
BigInt |
Conta quantos dias se passaram desde o início do ano (1 a 366). Entradas podem ser Datetime ou Date. |
|
monthname(expr) |
Varchar |
Escreve o nome completo do mês referente à data em expr. Trabalha com tipos Datetime ou Date. |
|
dayname(expr) |
Varchar |
Exibe o nome completo do dia da semana para a data informada em expr. Aceita parâmetros Datetime ou Date. |
Funções de agregação
|
Função |
Tipo de saída |
Descrição |
|
count(expr) |
Bigint |
Conta as linhas retornadas pela instrução SELECT onde a coluna especificada não é NULL, entregando um valor Bigint. |
|
sum(expr) |
Mesmo tipo de expr |
Totaliza os valores do campo expr. Retorna NULL caso a consulta não traga resultados. |
|
avg(expr) |
Double |
Calcula a média aritmética do campo expr. Se não houver dados, a saída será NULL. |
|
min(expr) |
Mesmo tipo de expr |
Encontra o menor valor existente em expr. Para strings, selecione aquela com menor ordem lexicográfica. |
|
max(expr) |
Mesmo tipo de expr |
Localiza o maior valor presente em expr. Em campos de texto, prevalece a string de maior ordem lexicográfica. |
|
max_by(expr1,expr2) |
Mesmo tipo de expr1 |
Busca o valor de expr1 na linha onde expr2 atinge seu máximo. Retorna NULL se o valor correspondente de expr1 for nulo. Ambos os campos aceitam strings simultaneamente. |
|
min_by(expr1,expr2) |
Mesmo tipo de expr1 |
Resgata o valor de expr1 associado ao menor valor encontrado em expr2. Devolve NULL caso expr1 seja nulo nessa linha. Strings são permitidas em ambos os parâmetros. |
|
bit_and(expr) |
Bigint |
Executa uma operação AND bit a bit sobre o campo expr. Na ausência de resultados, entrega um inteiro de 64 bits com todos os bits definidos como 1. |
|
bit_or(expr) |
Bigint |
Aplica a operação OR bit a bit nos valores de expr. Se a consulta estiver vazia, retorna um inteiro de 64 bits zerado. |
|
bit_xor(expr) |
Bigint |
Processa uma operação XOR bit a bit para o campo expr. Resulta em um inteiro de 64 bits com todos os bits em 0 quando não há registros. |
|
std(expr) |
Double |
Computa o desvio padrão populacional de expr. As funções std, stddev e stddev_pop são equivalentes. Retorna NULL para conjuntos vazios. |
|
stddev(expr) |
Double |
|
|
stddev_pop(expr) |
Double |
|
|
stddev_samp(expr) |
Double |
Deriva o desvio padrão amostral do campo expr. Sem dados disponíveis, o retorno é NULL. |
|
var_pop(expr) |
Double |
Obtém a variância populacional de expr. var_pop e variance funcionam de maneira idêntica. Produz NULL se a consulta não retornar linhas. |
|
variance(expr) |
Double |
|
|
var_samp(expr) |
Double |
Calcula a variância amostral baseada no campo expr. Retorna NULL diante de resultados vazios. |
Funções matemáticas
|
Função |
Tipo de saída |
Descrição |
|
mod(x,y) |
Mesmo tipo de x |
Fornece o resto da divisão de x por y. Se y for zero, o resultado é 0. |
|
abs(x) |
Mesmo tipo de x |
Devolve o módulo (valor absoluto) de x. |
|
ceil(x) |
Mesmo tipo de x |
Arredonda x para cima, retornando o menor inteiro maior ou igual a x. |
|
floor(x) |
Mesmo tipo de x |
Arredonda x para baixo, obtendo o maior inteiro menor ou igual a x. |
|
round(x) |
Mesmo tipo de x |
Aproxima x para o inteiro mais próximo. |
|
round(x,y) |
Mesmo tipo de x |
Arredonda x mantendo y casas decimais. |
|
acos(x) |
Double |
Calcula o arco cosseno de x, ou seja, encontra y tal que Retorna NULL se x estiver fora do intervalo [-1, 1]. |
|
asin(x) |
Double |
Determina o arco seno de x, encontrando y onde Valores de x fora de [-1, 1] resultam em NULL. |
|
atan(x) |
Double |
Resolve o arco tangente de x, buscando y tal que |
|
atan2(x,y) |
Double |
Calcula o arco tangente de duas variáveis x e y. O comportamento assemelha-se ao cálculo de |
|
cos(x) |
Double |
Retorna o cosseno de x, assumindo que x está em radianos. |
|
sin(x) |
Double |
Fornece o seno de x, com x expresso em radianos. |
|
tan(x) |
Double |
Calcula a tangente de x, exigindo entrada em radianos. |
|
exp(x) |
Double |
Eleva a constante e (base dos logaritmos naturais) à potência x. |
|
pow(x,y) |
Double |
Eleva x à potência y. |
|
radians(x) |
Double |
Converte o ângulo x de graus para radianos. Importante
Lembre-se: π radianos correspondem a 180 graus. |
|
sqrt(x) |
Double |
Extrai a raiz quadrada de x. |
|
sign(x) |
Bigint |
Indica o sinal de x: -1 para negativo, 0 para zero e 1 para positivo. |
|
pi() |
Double |
Retorna a constante Pi (π). |
|
ln(x) |
Double |
Calcula o logaritmo natural de x (base e). Se x ≤ 0, a função retorna NULL. |
|
log2(x) |
Double |
Obtém o logaritmo binário (base 2) de x. Retorna NULL quando x ≤ |
|
log10(x) |
Double |
Resolve o logaritmo de x na base 10. Para x ≤ |
Funções de string
|
Função |
Tipo de saída |
Descrição |
|
length(str) |
Bigint |
Mede o tamanho da string em bytes. |
|
concat(str1,str2...) |
Varchar |
Une múltiplas strings em uma única sequência. |
|
to_base64(str) |
Varchar |
Codifica a string str no formato Base64. |
|
hex(str) |
Bigint |
Traduz cada byte da string str para dois dígitos hexadecimais, retornando a representação hexadecimal completa. |
|
hex(str) |
Varchar |
Converte um valor numérico para sua forma hexadecimal. Exemplo: |
|
instr(str1,substr) |
Bigint |
Localiza a primeira ocorrência de substr dentro da string str. |
|
lower(str) |
Varchar |
Transforma todos os caracteres de str em minúsculas. |
|
ltrim(str) |
Varchar |
Remove espaços em branco à esquerda de str. |
|
lpad(str,len,padstr) |
Varchar |
Preenche a esquerda de str com padstr até atingir o comprimento len. Caso str já exceda len, o resultado é truncado. Exemplos: |
|
rtrim(str) |
Varchar |
Elimina espaços em branco à direita de str. |
|
rpad(str,len,padstr) |
Varchar |
Acrescenta padstr à direita de str até completar o tamanho definido por len. Strings maiores que len sofrem truncamento no retorno. |
|
trim(str,len,padstr) |
Varchar |
Limpa espaços tanto no início quanto no final de str. |
|
substr(str,pos1,pos2) |
Varchar |
Recorta pos2 caracteres de str, iniciando na posição pos1. Se pos2 for omitido, extrai tudo de pos1 até o fim da string. |
|
replace(str,from_str,to_str) |
Varchar |
Substitui todas as ocorrências de from_str por to_str dentro de str. A busca diferencia maiúsculas de minúsculas. |
|
reverse(str) |
Varchar |
Inverte a ordem dos caracteres de str. |
|
upper(str) |
Varchar |
Converte str para letras maiúsculas. |
