Todos os produtos
Search
Central de documentação

Tablestore:Funções SQL suportadas

Última atualização: Jun 30, 2026

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

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: 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 refere-se à coluna de tags da série temporal _tags, enquanto tag_key identifica uma chave específica nessas tags.

Funções de tempo

Importante

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, from_unixtime(1447430881) retorna '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

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, from_unixtime(1447430881,132216,3) resulta em '2015-11-14 00:08:01,132'.

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

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

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

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

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 unix_timestamp_millis("2023-06-09 16:23:31,000000"), obterá 1686299011000,000000.

O parâmetro datestr deve ser uma string de tempo contendo ano, mês e dia explicitamente. 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 completos, entradas inválidas como select unix_timestamp_millis("2023-07") resultam em null.

  • Caso o valor ultrapasse o intervalo permitido (1970-01-01 00:00:01,000000 UTC a 2038-01-19 03:14:07,999999 UTC), o retorno será 0.

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

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

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

A string datestr precisa conter ano, mês e dia explícitos. O intervalo aceito vai de 1970-01-01 00:00:01,000000 UTC a 2038-01-19 03:14:07,999999 UTC.

Importante
  • É obrigatório especificar ano, mês e dia em datestr. Formatos incompletos, como select unix_timestamp_micros("2023-07"), retornam null.

  • Valores fora do limite válido (1970-01-01 00:00:01,000000 UTC até 2038-01-19 03:14:07,999999 UTC) fazem a função retornar 0.

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

image.png

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

Retorna NULL se x estiver fora do intervalo [-1, 1].

asin(x)

Double

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

Valores de x fora de [-1, 1] resultam em NULL.

atan(x)

Double

Resolve o arco tangente de x, buscando y tal que tan(y)=x.

atan2(x,y)

Double

Calcula o arco tangente de duas variáveis x e y. O comportamento assemelha-se ao cálculo de y/x, porém utiliza os sinais de ambos para definir corretamente o quadrante do resultado.

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 ≤ 0,0E0.

log10(x)

Double

Resolve o logaritmo de x na base 10.

Para x ≤ 0,0E0, o resultado é NULL.

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

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: lpad("aa",3,"0") resulta em "0aa", enquanto lpad("aa",1,"0") vira "a".

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.