Este tópico descreve as funções SQL suportadas ao usar tabelas de mapeamento criadas para analytical stores para consultar dados com a instrução SELECT. As funções incluem: 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 usada 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 o intervalo de 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 indica a coluna de tags da série temporal _tags, e o parâmetro tag_key especifica uma chave nessas tags. |
Funções de tempo
Ao usar 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). Ao usar SDKs do Tablestore para acessar esse recurso, os valores Datetime são convertidos para UTC. Ajuste os fusos horários conforme a necessidade do seu negócio. Este tópico usa 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 em um valor do tipo Datetime, ajusta o fuso horário e retorna o resultado. Por exemplo, o retorno de O parâmetro unix_timestamp representa um timestamp Unix com precisão em segundos. |
|
from_unixtime(unix_timestamp,fsp) |
Datetime |
Converte um timestamp Unix em um valor Datetime, ajusta o fuso horário e arredonda o resultado para fsp casas decimais. Por exemplo, O parâmetro unix_timestamp indica um timestamp Unix com precisão em segundos. O parâmetro fsp define a precisão, com valor máximo de 6. Se fsp for maior que 6, uma exceção será lançada. Valores menores que 0 não geram arredondamento. |
|
from_unixtime_millis(unix_timestamp_millis) |
Datetime |
Converte um timestamp Unix para o tipo Datetime, ajustando o fuso horário antes de retornar o valor. Por exemplo, O parâmetro unix_timestamp_millis corresponde a um timestamp Unix com precisão em milissegundos. |
|
from_unixtime_micros(unix_timestamp_micros) |
Datetime |
Converte um timestamp Unix para Datetime, considerando o fuso horário na resposta. Por exemplo, O parâmetro unix_timestamp_micros refere-se a um timestamp Unix com precisão em microssegundos. |
|
unix_timestamp() |
Double |
Retorna o timestamp Unix atual com precisão em segundos, respeitando o fuso horário vigente. |
|
unix_timestamp_millis() |
Double |
Retorna o timestamp Unix do momento atual, arredondado para o segundo mais próximo e expresso em milissegundos, conforme o fuso horário local. Por exemplo, Essa função equivale a Importante
Embora o timestamp retornado apresente dígitos de milissegundo, a precisão real é em segundos, não em milissegundos. |
|
unix_timestamp_millis(datetime) |
Double |
Retorna o timestamp Unix em milissegundos, mantendo o fuso horário do parâmetro datetime. O parâmetro datetime deve ser um valor do tipo Datetime. |
|
unix_timestamp_millis(datestr) |
Double |
Calcula o timestamp Unix em milissegundos para a data representada por datestr, preservando seu fuso horário original. Por exemplo, O parâmetro datestr é uma string de tempo que exige ano, mês e dia explícitos. 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. A precisão permanece em segundos. Exemplo: Esta operação corresponde a Importante
Apesar de exibir dígitos de microssegundo, a precisão efetiva do timestamp é em segundos. |
|
unix_timestamp_micros(datetime) |
Double |
Retorna o timestamp Unix em microssegundos, alinhado ao fuso horário do argumento datetime. O argumento datetime precisa ser do tipo Datetime. |
|
unix_timestamp_micros(datestr) |
Double |
Retorna o timestamp Unix com precisão em microssegundos para a data e hora indicadas em datestr, mantendo o fuso horário da string. Por exemplo, O valor de datestr consiste em uma string temporal onde ano, mês e dia devem constar explicitamente. O intervalo válido vai de Importante
|
|
timediff(expr1,expr2) |
Time |
Calcula a diferença entre os parâmetros expr1 e expr2. Os parâmetros expr podem ser dos tipos Datetime, Time ou String. |
|
addtime(expr1,expr2) |
Mesmo tipo de expr1 |
Soma os valores dos parâmetros expr1 e expr2. O parâmetro expr1 aceita os tipos Datetime ou Time, já expr2 suporta apenas o tipo Time. |
|
date(datetime) |
Date |
Extrai apenas a parte da data de datetime. O parâmetro datetime deve conter um valor do tipo Datetime. |
|
hour(expr) |
BigInt |
Retorna a hora do valor fornecido em expr. O valor de expr pode pertencer aos tipos Datetime ou Time. |
|
minute(expr) |
BigInt |
Retorna os minutos contidos em expr. Aceita valores dos tipos Datetime ou Time para o parâmetro expr. |
|
second(expr) |
BigInt |
Retorna os segundos presentes no valor de expr. O parâmetro expr admite tanto Datetime quanto Time. |
|
microsecond(expr) |
BigInt |
Retorna a fração em microssegundos do valor de expr. Expr pode ser do tipo Datetime ou Time. |
|
month(expr) |
BigInt |
Retorna o mês extraído do valor passado em expr. O valor de expr pode ser Datetime ou Date. |
|
year(expr) |
BigInt |
Retorna o ano correspondente ao valor de expr. Expr deve ser do tipo Datetime ou Date. |
|
week(expr) |
BigInt |
Retorna a semana do ano em que se enquadra a data definida por expr. O parâmetro expr aceita os tipos Datetime ou Date. |
|
week(expr,mode) |
BigInt |
Calcula a semana do ano para a data em expr, seguindo a lógica determinada pelo parâmetro mode. Expr pode ser Datetime ou Date. A figura abaixo apresenta os valores aceitos para mode (compatível com MySQL).
|
|
weekday(expr) |
BigInt |
Retorna um índice numérico para o dia da semana da data informada. O valor 0 representa segunda-feira, 1 terça-feira, e assim sucessivamente até 6 para domingo. O parâmetro expr suporta valores Datetime ou Date. |
|
weekofyear(expr) |
BigInt |
Retorna o número da semana no ano para uma data específica, variando de 1 a 53. WEEKOFYEAR funciona como WEEK(date,3). Use valores Datetime ou Date para o parâmetro expr. |
|
dayofmonth(expr) |
BigInt |
Retorna o dia do mês referente à data fornecida. O retorno varia entre 1 e 31. O argumento expr pode ser Datetime ou Date. |
|
dayofweek(expr) |
BigInt |
Retorna o índice do dia da semana para a data indicada. Aqui, 1 significa domingo, 2 segunda-feira, chegando a 7 para sábado. Expr aceita os formatos Datetime ou Date. |
|
dayofyear(expr) |
BigInt |
Retorna o dia do ano correspondente à data. Os resultados possíveis vão de 1 a 366. O parâmetro expr comporta valores Datetime ou Date. |
|
monthname(expr) |
Varchar |
Retorna o nome completo do mês associado à data em expr. Utilize valores Datetime ou Date para expr. |
|
dayname(expr) |
Varchar |
Retorna o nome completo do dia da semana para a data escolhida em expr. O parâmetro expr pode ser Datetime ou Date. |
Funções de agregação
|
Função |
Tipo de saída |
Descrição |
|
count(expr) |
Bigint |
Conta quantas linhas retornadas pela instrução SELECT possuem valor diferente de NULL na coluna especificada. O resultado é do tipo 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 na consulta, o retorno será NULL. |
|
min(expr) |
Mesmo tipo de expr |
Retorna o menor valor existente no campo expr. Para campos de texto, retorna a string lexicalmente menor. |
|
max(expr) |
Mesmo tipo de expr |
Retorna o maior valor registrado no campo expr. Quando expr contém strings, a saída é a string lexicalmente maior. |
|
max_by(expr1,expr2) |
Mesmo tipo de expr1 |
Retorna o valor de expr1 correspondente à linha onde expr2 atinge seu valor máximo. Se expr1 for NULL nessa linha específica, o resultado também será NULL. Ambos os campos podem conter strings simultaneamente. |
|
min_by(expr1,expr2) |
Mesmo tipo de expr1 |
Retorna o valor de expr1 na linha em que expr2 apresenta seu menor valor. Caso expr1 seja NULL na linha de menor expr2, a função retorna NULL. 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 na consulta, retorna um inteiro de 64 bits com todos os bits definidos como 1. |
|
bit_or(expr) |
Bigint |
Aplica a operação OR bit a bit no campo expr. Se a consulta estiver vazia, o retorno é um inteiro de 64 bits com todos os bits zerados. |
|
bit_xor(expr) |
Bigint |
Realiza a operação XOR bit a bit sobre os valores de expr. Resulta em um inteiro de 64 bits com todos os bits iguais a 0 quando não há registros. |
|
std(expr) |
Double |
Calcula o desvio padrão populacional do campo expr. As funções std, stddev e stddev_pop são equivalentes. Retorna NULL se o conjunto de dados estiver vazio. |
|
stddev(expr) |
Double |
|
|
stddev_pop(expr) |
Double |
|
|
stddev_samp(expr) |
Double |
Calcula o desvio padrão amostral para o campo expr. Retorna NULL diante de resultados vazios. |
|
var_pop(expr) |
Double |
Calcula a variância populacional do campo expr. As funções var_pop e variance produzem o mesmo resultado. O retorno é NULL quando não existem dados. |
|
variance(expr) |
Double |
|
|
var_samp(expr) |
Double |
Calcula a variância amostral baseada no campo expr. Retorna NULL se a consulta não trouxer registros. |
Funções matemáticas
|
Função |
Tipo de saída |
Descrição |
|
mod(x,y) |
Mesmo tipo de x |
Retorna o resto da divisão de x por y. Retorna 0 caso y seja igual a zero. |
|
abs(x) |
Mesmo tipo de x |
Retorna o 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, retornando o maior inteiro menor ou igual a x. |
|
round(x) |
Mesmo tipo de x |
Arredonda x para o inteiro mais próximo. |
|
round(x,y) |
Mesmo tipo de x |
Arredonda o valor de 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 entre -1 e 1. |
|
asin(x) |
Double |
Calcula o arco seno de x, encontrando y onde Valores de x fora da faixa de -1 a 1 resultam em NULL. |
|
atan(x) |
Double |
Calcula o arco tangente de x, resolvendo para y na equação |
|
atan2(x,y) |
Double |
Calcula o arco tangente das variáveis x e y. Funciona de modo similar ao cálculo de |
|
cos(x) |
Double |
Retorna o cosseno de x. Considere x expresso em radianos. |
|
sin(x) |
Double |
Retorna o seno de x. O valor de x deve estar em radianos. |
|
tan(x) |
Double |
Calcula a tangente de x. Certifique-se de que x esteja em radianos. |
|
exp(x) |
Double |
Eleva a base dos logaritmos naturais (e) à 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 equivalem a 180 graus. |
|
sqrt(x) |
Double |
Retorna a raiz quadrada de x. |
|
sign(x) |
Bigint |
Indica o sinal de x: retorna -1 para negativos, 0 para zero e 1 para positivos. |
|
pi() |
Double |
Retorna a constante Pi (π). |
|
ln(x) |
Double |
Calcula o logaritmo natural de x (base e). Se x for menor ou igual a 0, o resultado é NULL. |
|
log2(x) |
Double |
Retorna o logaritmo binário (base 2) de x. Retorna NULL quando x é menor ou igual a |
|
log10(x) |
Double |
Calcula o logaritmo de x na base 10. Retorna NULL se x for menor ou igual a |
Funções de string
|
Função |
Tipo de saída |
Descrição |
|
length(str) |
Bigint |
Retorna o tamanho da string em bytes. |
|
concat(str1,str2...) |
Varchar |
Concatena múltiplas strings fornecidas como argumentos. |
|
to_base64(str) |
Varchar |
Codifica a string do parâmetro str em formato Base64. |
|
hex(str) |
Bigint |
Converte cada byte de cada caractere da string str em dois dígitos hexadecimais, retornando a representação resultante. |
|
hex(str) |
Varchar |
Retorna a representação hexadecimal do valor. Exemplo: |
|
instr(str1,substr) |
Bigint |
Localiza a primeira ocorrência de substr dentro da string str. |
|
lower(str) |
Varchar |
Converte todos os caracteres da string str para minúsculas. |
|
ltrim(str) |
Varchar |
Remove os espaços em branco à esquerda da string str. |
|
lpad(str,len,padstr) |
Varchar |
Preenche a string str à esquerda com padstr até atingir o comprimento definido por len. Caso str seja maior que len, o resultado é truncado. Exemplos: |
|
rtrim(str) |
Varchar |
Remove os espaços em branco situados à direita da string str. |
|
rpad(str,len,padstr) |
Varchar |
Adiciona padstr à direita de str até completar o tamanho especificado em len. Strings maiores que len serão cortadas para caber no limite estabelecido. |
|
trim(str,len,padstr) |
Varchar |
Remove os espaços em branco tanto no início quanto no final da string str. |
|
substr(str,pos1,pos2) |
Varchar |
Extrai uma sequência de caracteres de str, começando na posição pos1 e coletando pos2 caracteres. Se pos2 for omitido, a extração segue até o fim da string a partir de pos1. |
|
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 da string str. |
|
upper(str) |
Varchar |
Converte a string str para letras maiúsculas. |
