Tous les produits
Search
Centre de documentation

Tablestore:Fonctions SQL prises en charge

Dernière mise à jour :Aug 19, 2026

Cette rubrique décrit les fonctions SQL prises en charge lors de l'utilisation de tables de mappage créées pour les magasins analytiques afin d'interroger des données via l'instruction SELECT. Ces fonctions incluent les fonctions de séries temporelles, les fonctions temporelles, les fonctions d'agrégation, les fonctions mathématiques et les fonctions de chaîne.

Fonctions de séries temporelles

Function

Output type

Description

time_bin(_time,interval)

Datetime

Regroupe les données par intervalle de temps lorsqu'elle est utilisée avec une clause GROUP BY. Par exemple, utilisez group by time_bin(_time,"10s") pour regrouper les données par tranches de 10 secondes. Vous pouvez également utiliser des fonctions d'agrégation pour calculer les données dans ces tranches.

Le paramètre _time spécifie la colonne de temps des séries temporelles _time. Le paramètre interval est de type String et spécifie l'intervalle de regroupement des données. Ce paramètre accepte les abréviations de diverses unités de temps. Exemples : group by time_bin(_time,"10s"), group by time_bin(_time,"30min"), group by time_bin(_time,"1h"), group by time_bin(_time,"1d") et group by time_bin(_time,"10day").

tag_value_at(_tags,tag_key)

Varchar

Renvoie la valeur correspondant à la clé spécifiée dans les tags des séries temporelles.

Le paramètre _tags spécifie la colonne de tag des séries temporelles _tags, et le paramètre tag_key spécifie une clé dans les tags des séries temporelles.

Fonctions temporelles

Important

Lorsque vous utilisez la fonctionnalité de magasin analytique dans la console Tablestore, les valeurs de sortie de type Datetime sont exprimées dans le fuseau horaire du système (UTC+8 pour la Chine, soit l'heure de Pékin). Lorsque vous utilisez les SDK Tablestore pour exploiter cette fonctionnalité, les valeurs de sortie de type Datetime sont converties en heure UTC. Adaptez la conversion des fuseaux horaires à vos besoins métier. Cette rubrique utilise l'heure de Pékin, qui correspond au fuseau horaire UTC+8, à titre d'exemple.

Function

Output type

Description

from_unixtime(unix_timestamp)

Datetime

Convertit un horodatage Unix en une valeur de type Datetime, ajuste le fuseau horaire et renvoie le résultat. Par exemple, la valeur de retour de from_unixtime(1447430881) est '2015-11-13 10:08:01'.

Le paramètre unix_timestamp spécifie un horodatage Unix précis à la seconde.

from_unixtime(unix_timestamp,fsp)

Datetime

Convertit un horodatage Unix en une valeur de type Datetime, ajuste le fuseau horaire et renvoie la valeur arrondie à fsp décimales. Par exemple, la valeur de retour de from_unixtime(1447430881.132216,3) est '2015-11-14 00:08:01.132'.

Le paramètre unix_timestamp spécifie un horodatage Unix précis à la seconde. Le paramètre fsp spécifie la précision, avec une valeur maximale de 6. Si la valeur de fsp est supérieure à 6, une exception est levée. Si la valeur de fsp est inférieure à 0, la valeur n'est pas arrondie.

from_unixtime_millis(unix_timestamp_millis)

Datetime

Convertit un horodatage Unix en une valeur de type Datetime, ajuste le fuseau horaire et renvoie le résultat. Par exemple, la valeur de retour de from_unixtime_millis(1447430881231) est '2015-11-14 00:08:01.231000'.

Le paramètre unix_timestamp_millis spécifie un horodatage Unix précis à la milliseconde.

from_unixtime_micros(unix_timestamp_micros)

Datetime

Convertit un horodatage Unix en une valeur de type Datetime, ajuste le fuseau horaire et renvoie le résultat. Par exemple, la valeur de retour de from_unixtime_micros(1447430881231781) est '2015-11-14 00:08:01.231781'.

Le paramètre unix_timestamp_micros spécifie un horodatage Unix précis à la microseconde.

unix_timestamp()

Double

Renvoie l'horodatage Unix actuel, précis à la seconde, dans le fuseau horaire actuel.

unix_timestamp_millis()

Double

Renvoie l'horodatage Unix actuel, arrondi à la seconde la plus proche et précis à la milliseconde, dans le fuseau horaire actuel. Par exemple, la valeur de retour de unix_timestamp_millis() est 1686299575000.

Cette fonction équivaut à unix_timestamp() *1000.

Important

L'horodatage renvoyé par cette fonction comporte des chiffres pour les millisecondes, mais la précision reste à la seconde, et non à la milliseconde.

unix_timestamp_millis(datetime)

Double

Renvoie l'horodatage Unix précis à la milliseconde dans le fuseau horaire de datetime.

Le paramètre datetime spécifie l'heure de type Datetime.

unix_timestamp_millis(datestr)

Double

Renvoie l'horodatage Unix précis à la milliseconde pour la date correspondant à datestr dans son fuseau horaire. Par exemple, la valeur de retour de unix_timestamp_millis("2023-06-09 16:23:31.000000") est 1686299011000.000000.

Le paramètre datestr est une chaîne temporelle qui doit explicitement spécifier l'année, le mois et le jour. La plage de valeurs va de 1970-01-01 00:00:01.000000 UTC à 2038-01-19 03:14:07.999999 UTC.

Important
  • Étant donné que le paramètre datestr doit spécifier l'année, le mois et le jour, si un paramètre datestr invalide est saisi, tel que select unix_timestamp_millis("2023-07"), le résultat sera null.

  • Si la valeur du paramètre datestr dépasse la plage de valeurs (1970-01-01 00:00:01.000000 UTC à 2038-01-19 03:14:07.999999 UTC), le résultat sera 0.

unix_timestamp_micros()

Double

Renvoie l'horodatage Unix actuel au niveau de la microseconde dans le fuseau horaire actuel. La précision est à la seconde. Par exemple, la valeur de retour de unix_timestamp_micros() est 1686299575000000.

Cette fonction équivaut à unix_timestamp() *1000000.

Important

L'horodatage renvoyé par cette fonction comporte des chiffres pour les microsecondes, mais la précision reste à la seconde, et non à la microseconde.

unix_timestamp_micros(datetime)

Double

Renvoie l'horodatage Unix au niveau de la microseconde dans le fuseau horaire de datetime.

Le paramètre datetime est une heure de type Datetime.

unix_timestamp_micros(datestr)

Double

Renvoie l'horodatage Unix précis à la microseconde pour la date et l'heure correspondant à datestr dans son fuseau horaire. Par exemple, la valeur de retour de unix_timestamp_micros("2023-06-09 16:23:31.000000") est 1686299011000000.000000.

La valeur du paramètre datestr est une chaîne temporelle dans laquelle l'année, le mois et le jour doivent être explicitement spécifiés. La plage de valeurs va de 1970-01-01 00:00:01.000000 UTC à 2038-01-19 03:14:07.999999 UTC.

Important
  • Lorsque vous spécifiez une valeur pour le paramètre datestr, vous devez indiquer l'année, le mois et le jour. Si une valeur invalide est spécifiée pour le paramètre datestr, telle que select unix_timestamp_micros("2023-07"), la valeur de retour est null.

  • Si la valeur du paramètre datestr dépasse la plage de valeurs (1970-01-01 00:00:01.000000 UTC à 2038-01-19 03:14:07.999999 UTC), la valeur de retour est 0.

timediff(expr1,expr2)

Time

Calcule la différence entre les paramètres expr1 et expr2.

Les paramètres expr peuvent être de type Datetime, Time ou String.

addtime(expr1,expr2)

Same as expr1

Calcule la somme des paramètres expr1 et expr2.

Le paramètre expr1 peut être de type Datetime ou Time, et le paramètre expr2 doit être de type Time.

date(datetime)

Date

Renvoie la partie date de datetime.

La valeur du paramètre datetime est une heure de type Datetime.

hour(expr)

BigInt

Renvoie la partie heure de la valeur du paramètre expr.

La valeur du paramètre expr peut être de type Datetime ou Time.

minute(expr)

BigInt

Renvoie la partie minute de la valeur du paramètre expr.

La valeur du paramètre expr peut être de type Datetime ou Time.

second(expr)

BigInt

Renvoie la partie seconde de la valeur du paramètre expr.

La valeur du paramètre expr peut être de type Datetime ou Time.

microsecond(expr)

BigInt

Renvoie la partie microseconde de la valeur du paramètre expr.

La valeur du paramètre expr peut être de type Datetime ou Time.

month(expr)

BigInt

Renvoie la partie mois de la valeur du paramètre expr.

La valeur du paramètre expr peut être de type Datetime ou Date.

year(expr)

BigInt

Renvoie la partie année de la valeur du paramètre expr.

La valeur du paramètre expr peut être de type Datetime ou Date.

week(expr)

BigInt

Renvoie le numéro de la semaine de l'année pour la date spécifiée par le paramètre expr.

La valeur du paramètre expr peut être de type Datetime ou Date.

week(expr,mode)

BigInt

Renvoie le numéro de la semaine de l'année pour la date spécifiée par le paramètre expr. La méthode de calcul du numéro de semaine est définie par le paramètre mode.

La valeur du paramètre expr peut être de type Datetime ou Date. L'illustration suivante présente la plage de valeurs du paramètre mode (compatible avec MySQL).

image.png

weekday(expr)

BigInt

Renvoie l'indice correspondant au jour de la semaine pour une date donnée. Une valeur de retour de 0 indique lundi, 1 indique mardi, et ainsi de suite, jusqu'à 6 pour dimanche.

La valeur du paramètre expr peut être de type Datetime ou Date.

weekofyear(expr)

BigInt

Renvoie le numéro de la semaine de l'année pour une date donnée. La plage de valeurs va de 1 à 53. WEEKOFYEAR équivaut à WEEK(date,3).

La valeur du paramètre expr peut être de type Datetime ou Date.

dayofmonth(expr)

BigInt

Renvoie le jour du mois pour une date donnée. La valeur de retour varie de 1 à 31.

La valeur du paramètre expr peut être de type Datetime ou Date.

dayofweek(expr)

BigInt

Renvoie l'indice correspondant au jour de la semaine pour une date donnée. Une valeur de retour de 1 indique dimanche, 2 indique lundi, et ainsi de suite, jusqu'à 7 pour samedi.

La valeur du paramètre expr peut être de type Datetime ou Date.

dayofyear(expr)

BigInt

Renvoie le jour de l'année pour une date donnée. La valeur de retour varie de 1 à 366.

La valeur du paramètre expr peut être de type Datetime ou Date.

monthname(expr)

Varchar

Renvoie le nom complet du mois pour la date spécifiée par le paramètre expr.

La valeur du paramètre expr peut être de type Datetime ou Date.

dayname(expr)

Varchar

Renvoie le nom complet du jour de la semaine pour la date spécifiée par le paramètre expr.

La valeur du paramètre expr peut être de type Datetime ou Date.

Fonctions d'agrégation

Function

Output type

Description

count(expr)

Bigint

Renvoie le nombre de lignes pour lesquelles la valeur de la colonne spécifiée n'est pas NULL parmi les lignes récupérées par l'instruction SELECT. Le résultat est une valeur Bigint.

sum(expr)

Same type as expr

Renvoie la somme du champ expr.

Si le résultat de la requête est vide, NULL est renvoyé.

avg(expr)

Double

Renvoie la valeur moyenne du champ expr.

Si le résultat de la requête est vide, NULL est renvoyé.

min(expr)

Same type as expr

Renvoie la valeur minimale du champ expr.

Si les valeurs du champ expr sont des chaînes, la sortie correspond à la chaîne la plus petite selon l'ordre lexicographique.

max(expr)

Same type as expr

Renvoie la valeur maximale du champ expr.

Si les valeurs du champ expr sont des chaînes, la sortie correspond à la chaîne la plus grande selon l'ordre lexicographique.

max_by(expr1,expr2)

Same type as expr1

Renvoie la valeur du champ expr1 dans la ligne où la valeur du champ expr2 est la plus élevée.

Si la valeur du champ expr1 dans la ligne où la valeur du champ expr2 est la plus élevée est NULL, NULL est renvoyé. Les valeurs des champs expr1 et expr2 peuvent simultanément être des chaînes.

min_by(expr1,expr2)

Same type as expr1

Renvoie la valeur du champ expr1 dans la ligne où la valeur du champ expr2 est la plus faible.

Si la valeur du champ expr1 dans la ligne où la valeur du champ expr2 est la plus faible est NULL, NULL est renvoyé. Les valeurs des champs expr1 et expr2 peuvent simultanément être des chaînes.

bit_and(expr)

Bigint

Renvoie le résultat d'une opération ET binaire sur le champ expr.

Si le résultat de la requête est vide, un entier 64 bits avec tous les bits définis sur 1 est renvoyé.

bit_or(expr)

Bigint

Renvoie le résultat d'une opération OU binaire sur le champ expr.

Si le résultat de la requête est vide, un entier 64 bits avec tous les bits définis sur 0 est renvoyé.

bit_xor(expr)

Bigint

Renvoie le résultat d'une opération OU exclusif binaire sur le champ expr.

Si le résultat de la requête est vide, un entier 64 bits avec tous les bits définis sur 0 est renvoyé.

std(expr)

Double

Renvoie l'écart type de population du champ expr. std, stddev et stddev_pop sont trois fonctions équivalentes.

Si le résultat de la requête est vide, NULL est renvoyé.

stddev(expr)

Double

stddev_pop(expr)

Double

stddev_samp(expr)

Double

Renvoie l'écart type d'échantillon du champ expr.

Si le résultat de la requête est vide, NULL est renvoyé.

var_pop(expr)

Double

Renvoie la variance de population du champ expr.

var_pop et variance sont deux fonctions équivalentes.

Si le résultat de la requête est vide, NULL est renvoyé.

variance(expr)

Double

var_samp(expr)

Double

Renvoie la variance d'échantillon du champ expr.

Si le résultat de la requête est vide, NULL est renvoyé.

Fonctions mathématiques

Function

Output type

Description

mod(x,y)

Same type as x

Renvoie le reste de la division de x par y.

Si y est égal à 0, 0 est renvoyé.

abs(x)

Same type as x

Renvoie la valeur absolue de x.

ceil(x)

Same type as x

Renvoie la plus petite valeur entière supérieure ou égale à x.

floor(x)

Same type as x

Renvoie la plus grande valeur entière inférieure ou égale à x.

round(x)

Same type as x

Renvoie la valeur entière de x arrondie à l'entier le plus proche.

round(x,y)

Same type as x

Renvoie la valeur de x arrondie à y décimales.

acos(x)

Double

Renvoie l'arc cosinus de x, c'est-à-dire la valeur de y lorsque cos(y)=x.

Si la valeur de x n'est pas comprise entre -1 et 1, NULL est renvoyé.

asin(x)

Double

Renvoie l'arc sinus de x, c'est-à-dire la valeur de y lorsque sin(y)=x.

Si la valeur de x n'est pas comprise entre -1 et 1, NULL est renvoyé.

atan(x)

Double

Renvoie l'arc tangente de x, c'est-à-dire la valeur de y lorsque tan(y)=x.

atan2(x,y)

Double

Renvoie l'arc tangente de deux variables x et y. Le processus est similaire au calcul de l'arc tangente de y/x, sauf que les signes des deux paramètres sont utilisés pour déterminer le quadrant du résultat.

cos(x)

Double

Renvoie le cosinus de x. La valeur de x est exprimée en radians.

sin(x)

Double

Renvoie le sinus de x. La valeur de x est exprimée en radians.

tan(x)

Double

Renvoie la tangente de x. La valeur de x est exprimée en radians.

exp(x)

Double

Renvoie la valeur de e (la base des logarithmes naturels) élevée à la puissance x.

pow(x,y)

Double

Renvoie la valeur de x élevée à la puissance y.

radians(x)

Double

Convertit le paramètre x de degrés en radians.

Important

π radians équivaut à 180 degrés.

sqrt(x)

Double

Renvoie la racine carrée de x.

sign(x)

Bigint

Renvoie -1, 0 ou 1 selon que la valeur du paramètre x est négative, nulle ou positive.

pi()

Double

Renvoie la valeur de Pi, c'est-à-dire la valeur de π.

ln(x)

Double

Renvoie le logarithme naturel de x, c'est-à-dire le logarithme de x en base e.

Si x est inférieur ou égal à 0, NULL est renvoyé.

log2(x)

Double

Renvoie le logarithme binaire de x.

Si x est inférieur ou égal à 0,0E0, NULL est renvoyé.

log10(x)

Double

Renvoie le logarithme de x en base 10.

Si x est inférieur ou égal à 0,0E0, NULL est renvoyé.

Fonctions de chaîne

Function

Output type

Description

length(str)

Bigint

Renvoie la longueur de la chaîne en octets.

concat(str1,str2...)

Varchar

Renvoie le résultat de la concaténation de chaînes. Vous pouvez spécifier plusieurs chaînes.

to_base64(str)

Varchar

Renvoie la chaîne spécifiée par le paramètre str, encodée en Base64.

hex(str)

Bigint

Renvoie la représentation sous forme de chaîne hexadécimale de la valeur du paramètre str, où chaque octet de chaque caractère de la valeur du paramètre str est converti en deux chiffres hexadécimaux.

hex(str)

Varchar

Renvoie la représentation sous forme de chaîne hexadécimale de x. Par exemple, la valeur de retour de hex(255) est 'FF'.

instr(str1,substr)

Bigint

Renvoie la position de la première occurrence de la valeur du paramètre substr dans la chaîne spécifiée par le paramètre str.

lower(str)

Varchar

Renvoie la chaîne spécifiée par le paramètre str en minuscules.

ltrim(str)

Varchar

Renvoie la chaîne obtenue après suppression des espaces de début de la valeur du paramètre str.

lpad(str,len,padstr)

Varchar

Remplit la valeur du paramètre str à gauche avec la valeur du paramètre padstr jusqu'à ce que sa longueur corresponde à la valeur spécifiée par le paramètre len, puis renvoie la chaîne remplie résultante.

Si la longueur de la valeur du paramètre str est supérieure à la valeur spécifiée par le paramètre len, la valeur de retour est tronquée à la longueur spécifiée par le paramètre len. Par exemple, la valeur de retour de lpad("aa",3,"0") est "0aa", et la valeur de retour de lpad("aa",1,"0") est "a".

rtrim(str)

Varchar

Renvoie la chaîne obtenue après suppression des espaces de fin de la valeur du paramètre str.

rpad(str,len,padstr)

Varchar

Remplit la valeur du paramètre str à droite avec la valeur du paramètre padstr jusqu'à ce que sa longueur corresponde à la valeur spécifiée par le paramètre len, puis renvoie la chaîne remplie résultante.

Si la longueur de la valeur du paramètre str est supérieure à la valeur spécifiée par le paramètre len, la valeur de retour est tronquée à la longueur spécifiée par le paramètre len.

trim(str,len,padstr)

Varchar

Renvoie la chaîne obtenue après suppression des espaces de début et de fin de la valeur du paramètre str.

substr(str,pos1,pos2)

Varchar

Extrait un nombre spécifique de caractères spécifié par le paramètre pos2 de la valeur du paramètre str et renvoie le résultat de l'extraction. L'extraction commence à partir du caractère spécifié par le paramètre pos1.

Si le paramètre pos2 n'est pas spécifié dans la fonction, tous les caractères à partir du caractère spécifié par le paramètre pos1 sont extraits comme chaîne de retour.

replace(str,from_str,to_str)

Varchar

Renvoie la chaîne obtenue après remplacement de toutes les occurrences de la valeur du paramètre from_str dans la valeur du paramètre str par la valeur du paramètre to_str. La recherche de la valeur du paramètre from_str respecte la casse.

reverse(str)

Varchar

Renvoie le résultat obtenu après inversion de la valeur du paramètre str.

upper(str)

Varchar

Renvoie la valeur du paramètre str en majuscules.