Todos os produtos
Search
Central de documentação

Tablestore:Funções SQL suportadas

Última atualização: Sep 09, 2026

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 group by time_bin(_time,"10s") para agrupar dados em intervalos de 10 segundos. Também é possível aplicar funções de agregação para calcular os dados nesses grupos.

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: group by time_bin(_time,"10s"), group by time_bin(_time,"30min"), group by time_bin(_time,"1h"), group by time_bin(_time,"1d") e group by time_bin(_time,"10day").

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

Importante

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 from_unixtime(1447430881) é '2015-11-13 10:08:01'.

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, from_unixtime(1447430881.132216,3) retorna '2015-11-14 00:08:01.132'.

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, from_unixtime_millis(1447430881231) retorna '2015-11-14 00:08:01.231000'.

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, from_unixtime_micros(1447430881231781) retorna '2015-11-14 00:08:01.231781'.

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, unix_timestamp_millis() pode retornar 1686299575000.

Essa função equivale a unix_timestamp() *1000.

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, unix_timestamp_millis("2023-06-09 16:23:31.000000") resulta em 1686299011000.000000.

O parâmetro datestr é uma string de tempo que exige ano, mês e dia explícitos. Os valores válidos variam de 1970-01-01 00:00:01.000000 UTC até 2038-01-19 03:14:07.999999 UTC.

Importante
  • Como datestr requer ano, mês e dia obrigatoriamente, entradas inválidas como select unix_timestamp_millis("2023-07") retornarão null.

  • Caso o valor de datestr ultrapasse o intervalo permitido (1970-01-01 00:00:01.000000 UTC a 2038-01-19 03:14:07.999999 UTC), o resultado será 0.

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: unix_timestamp_micros() pode gerar 1686299575000000.

Esta operação corresponde a unix_timestamp() *1000000.

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, unix_timestamp_micros("2023-06-09 16:23:31.000000") resulta em 1686299011000000.000000.

O valor de datestr consiste em uma string temporal onde ano, mês e dia devem constar explicitamente. O intervalo válido vai de 1970-01-01 00:00:01.000000 UTC a 2038-01-19 03:14:07.999999 UTC.

Importante
  • É obrigatório informar ano, mês e dia ao definir datestr. Fornecer um valor incompleto, como select unix_timestamp_micros("2023-07"), fará com que o retorno seja null.

  • Se o conteúdo de datestr estiver fora do intervalo aceito (1970-01-01 00:00:01.000000 UTC a 2038-01-19 03:14:07.999999 UTC), a função retornará 0.

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).

image.png

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 cos(y)=x.

Retorna NULL se x estiver fora do intervalo entre -1 e 1.

asin(x)

Double

Calcula o arco seno de x, encontrando y onde sin(y)=x.

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 tan(y)=x.

atan2(x,y)

Double

Calcula o arco tangente das variáveis x e y. Funciona de modo similar ao cálculo de y/x, porém utiliza os sinais de ambos os parâmetros para definir corretamente o quadrante do resultado.

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 0.0E0.

log10(x)

Double

Calcula o logaritmo de x na base 10.

Retorna NULL se x for menor ou igual a 0.0E0.

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: hex(255) gera 'FF'.

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: lpad("aa",3,"0") retorna "0aa"; já lpad("aa",1,"0") resulta em "a".

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.