Todos los productos
Search
Centro de documentos

Tablestore:Funciones SQL compatibles

Última actualización: Sep 09, 2026

Este tema describe las funciones SQL compatibles cuando se usan tablas de mapeo creadas para almacenes analíticos con el fin de consultar datos mediante la instrucción SELECT. Entre ellas se incluyen funciones de series de tiempo, funciones de tiempo, funciones de agregación, funciones matemáticas y funciones de cadenas.

Funciones de series de tiempo

Función

Tipo de salida

Descripción

time_bin(_time,interval)

Datetime

Agrupa los datos por tiempo cuando se usa junto con group by. Por ejemplo, utilice group by time_bin(_time,"10s") para agrupar los datos en intervalos de 10 segundos. También puede usar funciones de agregación para calcular los datos de cada grupo.

El parámetro _time indica la columna de tiempo de la serie de tiempo _time. El parámetro interval es de tipo String e indica el intervalo con el que se agrupan los datos. Este parámetro acepta abreviaturas de diversas unidades de tiempo. Ejemplos: group by time_bin(_time,"10s"), group by time_bin(_time,"30min"), group by time_bin(_time,"1h"), group by time_bin(_time,"1d") y group by time_bin(_time,"10day").

tag_value_at(_tags,tag_key)

Varchar

Devuelve el valor correspondiente a la clave especificada dentro de las etiquetas de la serie de tiempo.

El parámetro _tags indica la columna de etiquetas de la serie de tiempo _tags, mientras que tag_key señala una clave específica dentro de dichas etiquetas.

Funciones de tiempo

Importante

Cuando utiliza la función de almacén analítico en la consola de Tablestore, los valores de salida de tipo Datetime se muestran en la zona horaria del sistema (UTC+8 para China, es decir, hora de Pekín). Si emplea los SDK de Tablestore para acceder a esta función, los valores de tipo Datetime se convierten a la hora UTC. Convierta las zonas horarias según sus necesidades de negocio. En este tema se toma como ejemplo la hora de Pekín, correspondiente a la zona horaria UTC+8.

Función

Tipo de salida

Descripción

from_unixtime(unix_timestamp)

Datetime

Convierte una marca de tiempo Unix en un valor de tipo Datetime, transforma su zona horaria y devuelve el resultado. Por ejemplo, el valor devuelto por from_unixtime(1447430881) es '2015-11-13 10:08:01'.

El parámetro unix_timestamp indica una marca de tiempo Unix con precisión de segundos.

from_unixtime(unix_timestamp,fsp)

Datetime

Convierte una marca de tiempo Unix en un valor de tipo Datetime, transforma su zona horaria y devuelve el resultado redondeado a fsp decimales. Por ejemplo, el valor devuelto por from_unixtime(1447430881.132216,3) es '2015-11-14 00:08:01.132'.

El parámetro unix_timestamp indica una marca de tiempo Unix con precisión de segundos. El parámetro fsp define la precisión y tiene un valor máximo de 6. Si el valor de fsp supera 6, se genera una excepción. Si es menor que 0, no se aplica ningún redondeo.

from_unixtime_millis(unix_timestamp_millis)

Datetime

Convierte una marca de tiempo Unix en un valor de tipo Datetime, transforma su zona horaria y devuelve el resultado. Por ejemplo, el valor devuelto por from_unixtime_millis(1447430881231) es '2015-11-14 00:08:01.231000'.

El parámetro unix_timestamp_millis indica una marca de tiempo Unix con precisión de milisegundos.

from_unixtime_micros(unix_timestamp_micros)

Datetime

Convierte una marca de tiempo Unix en un valor de tipo Datetime, transforma su zona horaria y devuelve el resultado. Por ejemplo, el valor devuelto por from_unixtime_micros(1447430881231781) es '2015-11-14 00:08:01.231781'.

El parámetro unix_timestamp_micros indica una marca de tiempo Unix con precisión de microsegundos.

unix_timestamp()

Double

Devuelve la marca de tiempo Unix de la hora actual con precisión de segundos en la zona horaria vigente.

unix_timestamp_millis()

Double

Devuelve la marca de tiempo Unix de la hora actual, redondeada al segundo más cercano y con precisión de milisegundos, en la zona horaria vigente. Por ejemplo, el valor devuelto por unix_timestamp_millis() es 1686299575000.

Esta función equivale a unix_timestamp() *1000.

Importante

La marca de tiempo que devuelve esta función incluye dígitos de milisegundos, pero su precisión es de segundos, no de milisegundos.

unix_timestamp_millis(datetime)

Double

Devuelve la marca de tiempo Unix con precisión de milisegundos en la zona horaria del valor datetime.

El parámetro datetime indica una hora de tipo Datetime.

unix_timestamp_millis(datestr)

Double

Devuelve la marca de tiempo Unix con precisión de milisegundos para la fecha correspondiente a datestr en su propia zona horaria. Por ejemplo, el valor devuelto por unix_timestamp_millis("2023-06-09 16:23:31.000000") es 1686299011000.000000.

El parámetro datestr es una cadena de tiempo donde debe especificar explícitamente el año, el mes y el día. El rango de valores válidos va de 1970-01-01 00:00:01.000000 UTC a 2038-01-19 03:14:07.999999 UTC.

Importante
  • Dado que el parámetro datestr requiere indicar el año, el mes y el día, si introduce un valor no válido, como select unix_timestamp_millis("2023-07"), el resultado será null.

  • Si el valor del parámetro datestr excede el rango permitido (de 1970-01-01 00:00:01.000000 UTC a 2038-01-19 03:14:07.999999 UTC), el resultado será 0.

unix_timestamp_micros()

Double

Devuelve la marca de tiempo Unix de la hora actual con nivel de microsegundos en la zona horaria vigente. La precisión es de segundos. Por ejemplo, el valor devuelto por unix_timestamp_micros() es 1686299575000000.

Esta función equivale a unix_timestamp() *1000000.

Importante

La marca de tiempo que devuelve esta función incluye dígitos de microsegundos, pero su precisión es de segundos, no de microsegundos.

unix_timestamp_micros(datetime)

Double

Devuelve la marca de tiempo Unix con nivel de microsegundos en la zona horaria del valor datetime.

El parámetro datetime es una hora de tipo Datetime.

unix_timestamp_micros(datestr)

Double

Devuelve la marca de tiempo Unix con precisión de microsegundos para la fecha y hora correspondientes a datestr en su propia zona horaria. Por ejemplo, el valor devuelto por unix_timestamp_micros("2023-06-09 16:23:31.000000") es 1686299011000000.000000.

El valor del parámetro datestr es una cadena de tiempo donde debe especificar explícitamente el año, el mes y el día. El rango de valores válidos va de 1970-01-01 00:00:01.000000 UTC a 2038-01-19 03:14:07.999999 UTC.

Importante
  • Al asignar un valor al parámetro datestr, debe especificar el año, el mes y el día. Si proporciona un valor no válido, como select unix_timestamp_micros("2023-07"), el valor devuelto será null.

  • Si el valor del parámetro datestr excede el rango permitido (de 1970-01-01 00:00:01.000000 UTC a 2038-01-19 03:14:07.999999 UTC), el valor devuelto será 0.

timediff(expr1,expr2)

Time

Calcula la diferencia entre los parámetros expr1 y expr2.

Los parámetros expr pueden ser de tipo Datetime, Time o String.

addtime(expr1,expr2)

Igual que expr1

Calcula la suma de los parámetros expr1 y expr2.

El parámetro expr1 puede ser de tipo Datetime o Time, mientras que expr2 solo admite el tipo Time.

date(datetime)

Date

Devuelve la parte de fecha del valor datetime.

El valor del parámetro datetime es una hora de tipo Datetime.

hour(expr)

BigInt

Devuelve la parte correspondiente a la hora dentro del valor del parámetro expr.

El valor del parámetro expr puede ser de tipo Datetime o Time.

minute(expr)

BigInt

Devuelve la parte correspondiente a los minutos dentro del valor del parámetro expr.

El valor del parámetro expr puede ser de tipo Datetime o Time.

second(expr)

BigInt

Devuelve la parte correspondiente a los segundos dentro del valor del parámetro expr.

El valor del parámetro expr puede ser de tipo Datetime o Time.

microsecond(expr)

BigInt

Devuelve la parte correspondiente a los microsegundos dentro del valor del parámetro expr.

El valor del parámetro expr puede ser de tipo Datetime o Time.

month(expr)

BigInt

Devuelve la parte correspondiente al mes dentro del valor del parámetro expr.

El valor del parámetro expr puede ser de tipo Datetime o Date.

year(expr)

BigInt

Devuelve la parte correspondiente al año dentro del valor del parámetro expr.

El valor del parámetro expr puede ser de tipo Datetime o Date.

week(expr)

BigInt

Devuelve la semana del año en la que cae la fecha indicada por el parámetro expr.

El valor del parámetro expr puede ser de tipo Datetime o Date.

week(expr,mode)

BigInt

Devuelve la semana del año en la que cae la fecha indicada por el parámetro expr. El parámetro mode define el método utilizado para calcular dicha semana.

El valor del parámetro expr puede ser de tipo Datetime o Date. A continuación se muestra el rango de valores del parámetro mode (compatible con MySQL).

image.png

weekday(expr)

BigInt

Devuelve el índice correspondiente al día de la semana de una fecha determinada. Un valor de retorno 0 representa el lunes; 1, el martes, y así sucesivamente hasta 6, que corresponde al domingo.

El valor del parámetro expr puede ser de tipo Datetime o Date.

weekofyear(expr)

BigInt

Devuelve la semana del año correspondiente a una fecha determinada. El rango de valores va de 1 a 53. WEEKOFYEAR equivale a WEEK(date,3).

El valor del parámetro expr puede ser de tipo Datetime o Date.

dayofmonth(expr)

BigInt

Devuelve el día del mes correspondiente a una fecha determinada. El valor devuelto va de 1 a 31.

El valor del parámetro expr puede ser de tipo Datetime o Date.

dayofweek(expr)

BigInt

Devuelve el índice correspondiente al día de la semana de una fecha determinada. Un valor de retorno 1 representa el domingo; 2, el lunes, y así sucesivamente hasta 7, que corresponde al sábado.

El valor del parámetro expr puede ser de tipo Datetime o Date.

dayofyear(expr)

BigInt

Devuelve el día del año correspondiente a una fecha determinada. El valor devuelto va de 1 a 366.

El valor del parámetro expr puede ser de tipo Datetime o Date.

monthname(expr)

Varchar

Devuelve el nombre completo del mes correspondiente a la fecha indicada por el parámetro expr.

El valor del parámetro expr puede ser de tipo Datetime o Date.

dayname(expr)

Varchar

Devuelve el nombre completo del día de la semana correspondiente a la fecha indicada por el parámetro expr.

El valor del parámetro expr puede ser de tipo Datetime o Date.

Funciones de agregación

Función

Tipo de salida

Descripción

count(expr)

Bigint

Devuelve la cantidad de filas en las que el valor de la columna especificada no es NULL, dentro de las filas obtenidas por la instrucción SELECT. El resultado es un valor de tipo Bigint.

sum(expr)

Mismo tipo que expr

Devuelve la suma del campo expr.

Si el resultado de la consulta está vacío, devuelve NULL.

avg(expr)

Double

Devuelve el valor promedio del campo expr.

Si el resultado de la consulta está vacío, devuelve NULL.

min(expr)

Mismo tipo que expr

Devuelve el valor mínimo del campo expr.

Si los valores del campo expr son cadenas, devuelve la cadena menor en orden lexicográfico.

max(expr)

Mismo tipo que expr

Devuelve el valor máximo del campo expr.

Si los valores del campo expr son cadenas, devuelve la cadena mayor en orden lexicográfico.

max_by(expr1,expr2)

Mismo tipo que expr1

Devuelve el valor del campo expr1 correspondiente a la fila donde el campo expr2 alcanza su valor máximo.

Si el valor del campo expr1 en dicha fila es NULL, devuelve NULL. Los campos expr1 y expr2 pueden contener cadenas de forma simultánea.

min_by(expr1,expr2)

Mismo tipo que expr1

Devuelve el valor del campo expr1 correspondiente a la fila donde el campo expr2 alcanza su valor mínimo.

Si el valor del campo expr1 en dicha fila es NULL, devuelve NULL. Los campos expr1 y expr2 pueden contener cadenas de forma simultánea.

bit_and(expr)

Bigint

Devuelve el resultado de aplicar la operación AND bit a bit sobre el campo expr.

Si el resultado de la consulta está vacío, devuelve un entero de 64 bits con todos los bits en 1.

bit_or(expr)

Bigint

Devuelve el resultado de aplicar la operación OR bit a bit sobre el campo expr.

Si el resultado de la consulta está vacío, devuelve un entero de 64 bits con todos los bits en 0.

bit_xor(expr)

Bigint

Devuelve el resultado de aplicar la operación XOR bit a bit sobre el campo expr.

Si el resultado de la consulta está vacío, devuelve un entero de 64 bits con todos los bits en 0.

std(expr)

Double

Devuelve la desviación estándar poblacional del campo expr. Las funciones std, stddev y stddev_pop son equivalentes.

Si el resultado de la consulta está vacío, devuelve NULL.

stddev(expr)

Double

stddev_pop(expr)

Double

stddev_samp(expr)

Double

Devuelve la desviación estándar muestral del campo expr.

Si el resultado de la consulta está vacío, devuelve NULL.

var_pop(expr)

Double

Devuelve la varianza poblacional del campo expr.

Las funciones var_pop y variance son equivalentes.

Si el resultado de la consulta está vacío, devuelve NULL.

variance(expr)

Double

var_samp(expr)

Double

Devuelve la varianza muestral del campo expr.

Si el resultado de la consulta está vacío, devuelve NULL.

Funciones matemáticas

Función

Tipo de salida

Descripción

mod(x,y)

Mismo tipo que x

Devuelve el residuo de dividir x entre y.

Si y es 0, devuelve 0.

abs(x)

Mismo tipo que x

Devuelve el valor absoluto de x.

ceil(x)

Mismo tipo que x

Devuelve el entero más pequeño que no sea menor que x, es decir, redondea hacia arriba.

floor(x)

Mismo tipo que x

Devuelve el entero más grande que no sea mayor que x, es decir, redondea hacia abajo.

round(x)

Mismo tipo que x

Devuelve el valor de x redondeado al entero más cercano.

round(x,y)

Mismo tipo que x

Devuelve el valor de x redondeado a y decimales.

acos(x)

Double

Devuelve el arcocoseno de x, es decir, el valor de y cuando cos(y)=x.

Si el valor de x no se encuentra entre -1 y 1, devuelve NULL.

asin(x)

Double

Devuelve el arcoseno de x, es decir, el valor de y cuando sin(y)=x.

Si el valor de x no se encuentra entre -1 y 1, devuelve NULL.

atan(x)

Double

Devuelve el arcotangente de x, es decir, el valor de y cuando tan(y)=x.

atan2(x,y)

Double

Devuelve el arcotangente de dos variables, x e y. El proceso es similar al cálculo del arcotangente de y/x, salvo que utiliza los signos de ambos parámetros para determinar el cuadrante del resultado.

cos(x)

Double

Devuelve el coseno de x. El valor de x se expresa en radianes.

sin(x)

Double

Devuelve el seno de x. El valor de x se expresa en radianes.

tan(x)

Double

Devuelve la tangente de x. El valor de x se expresa en radianes.

exp(x)

Double

Devuelve el valor de e (la base de los logaritmos naturales) elevado a la potencia x.

pow(x,y)

Double

Devuelve el valor de x elevado a la potencia y.

radians(x)

Double

Devuelve el parámetro x convertido de grados a radianes.

Importante

π radianes equivalen a 180 grados.

sqrt(x)

Double

Devuelve la raíz cuadrada de x.

sign(x)

Bigint

Devuelve -1, 0 o 1 según si el valor del parámetro x es negativo, cero o positivo.

pi()

Double

Devuelve el valor de Pi, es decir, el valor de π.

ln(x)

Double

Devuelve el logaritmo natural de x, es decir, el logaritmo de x en base e.

Si x es menor o igual que 0, devuelve NULL.

log2(x)

Double

Devuelve el logaritmo binario de x.

Si x es menor o igual que 0.0E0, devuelve NULL.

log10(x)

Double

Devuelve el logaritmo de x en base 10.

Si x es menor o igual que 0.0E0, devuelve NULL.

Funciones de cadenas

Función

Tipo de salida

Descripción

length(str)

Bigint

Devuelve la longitud de la cadena en bytes.

concat(str1,str2...)

Varchar

Devuelve el resultado de concatenar las cadenas indicadas. Puede especificar varias cadenas.

to_base64(str)

Varchar

Devuelve el resultado codificado en Base64 de la cadena indicada por el parámetro str.

hex(str)

Bigint

Devuelve la representación hexadecimal del valor del parámetro str. Cada byte de cada carácter se convierte en dos dígitos hexadecimales.

hex(str)

Varchar

Devuelve la representación hexadecimal de x. Por ejemplo, el valor devuelto por hex(255) es 'FF'.

instr(str1,substr)

Bigint

Devuelve la posición de la primera aparición del valor del parámetro substr dentro de la cadena indicada por el parámetro str.

lower(str)

Varchar

Devuelve en minúsculas la cadena indicada por el parámetro str.

ltrim(str)

Varchar

Devuelve la cadena resultante tras eliminar los espacios iniciales del valor del parámetro str.

lpad(str,len,padstr)

Varchar

Rellena el valor del parámetro str por la izquierda con el valor del parámetro padstr hasta alcanzar la longitud definida por el parámetro len, y devuelve la cadena resultante.

Si la longitud del valor de str supera el valor indicado por len, el resultado se trunca a dicha longitud. Por ejemplo, el valor devuelto por lpad("aa",3,"0") es "0aa", y el de lpad("aa",1,"0") es "a".

rtrim(str)

Varchar

Devuelve la cadena resultante tras eliminar los espacios finales del valor del parámetro str.

rpad(str,len,padstr)

Varchar

Rellena el valor del parámetro str por la derecha con el valor del parámetro padstr hasta alcanzar la longitud definida por el parámetro len, y devuelve la cadena resultante.

Si la longitud del valor de str supera el valor indicado por len, el resultado se trunca a dicha longitud.

trim(str,len,padstr)

Varchar

Devuelve la cadena resultante tras eliminar los espacios iniciales y finales del valor del parámetro str.

substr(str,pos1,pos2)

Varchar

Extrae una cantidad específica de caracteres, definida por el parámetro pos2, a partir del valor del parámetro str, y devuelve el resultado. La extracción comienza en el carácter señalado por el parámetro pos1.

Si omite el parámetro pos2, la función extrae todos los caracteres desde la posición indicada por pos1 y los devuelve como cadena.

replace(str,from_str,to_str)

Varchar

Devuelve la cadena resultante tras sustituir todas las apariciones del parámetro from_str por el valor del parámetro to_str dentro de str. La búsqueda de from_str distingue entre mayúsculas y minúsculas.

reverse(str)

Varchar

Devuelve el resultado de invertir el valor del parámetro str.

upper(str)

Varchar

Devuelve el valor del parámetro str en mayúsculas.