Tous les produits
Search
Centre de documentation

Realtime Compute for Apache Flink:Fonctions prises en charge

Dernière mise à jour :Aug 10, 2026

Realtime Compute for Apache Flink prend en charge trois catégories de fonctions intégrées : les fonctions scalaires, les fonctions tabulaires et les fonctions d'agrégation. Si les fonctions intégrées ne couvrent pas votre cas d'utilisation, utilisez des fonctions définies par l'utilisateur (UDF).

Les tableaux suivants répertorient toutes les fonctions intégrées disponibles dans Realtime Compute for Apache Flink basé sur Apache Flink 1.15. Les fonctions disponibles varient selon la version d'Apache Flink — consultez la documentation officielle pour les versions 1.12, 1.13, 1.14, 1.15, 1.16 et 1.17. Ververica Runtime (VVR) 3.0.0 ajoute également des fonctions intégrées supplémentaires par rapport à celles d'Apache Flink 1.12 — consultez les sections Fonctions scalaires, Fonctions tabulaires et Fonctions d'agrégation.

Limitations

À partir de VVR 11.1, vous pouvez appeler des fonctions intégrées dans les jobs Table API à l'aide de texte SQL.

Fonctions scalaires

Fonctions de comparaison

Function Description
value1 = value2 Renvoie TRUE si value1 est égal à value2.
value1 \<\> value2 Renvoie TRUE si value1 n'est pas égal à value2.
value1 \> value2 Renvoie TRUE si value1 est supérieur à value2.
value1 \>= value2 Renvoie TRUE si value1 est supérieur ou égal à value2.
value1 \< value2 Renvoie TRUE si value1 est inférieur à value2.
value1 \<= value2 Renvoie TRUE si value1 est inférieur ou égal à value2.
value IS NULL Renvoie TRUE si value est NULL.
value IS NOT NULL Renvoie TRUE si value n'est pas NULL.
value1 IS DISTINCT FROM value2 Renvoie TRUE si value1 et value2 diffèrent par leur type de données ou leur valeur. Les valeurs NULL sont considérées comme égales.
value1 IS NOT DISTINCT FROM value2 Renvoie TRUE si value1 et value2 ont le même type de données et la même valeur. Les valeurs NULL sont considérées comme égales.
[value1 BETWEEN \[ASYMMETRIC SYMMETRIC\] value2 AND value3](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions)

Par défaut (ou avec ASYMMETRIC), renvoie TRUE si value1 se situe entre value2 et value3 (bornes incluses).

[value1 NOT BETWEEN \[ASYMMETRIC SYMMETRIC\] value2 AND value3](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions)

Par défaut (ou avec ASYMMETRIC), renvoie TRUE si value1 est inférieur à value2 ou supérieur à value3.

[string1 LIKE string2 \[ESCAPE char\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions) Renvoie TRUE si string1 correspond au modèle string2.
[string1 NOT LIKE string2 \[ESCAPE char\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions) Renvoie TRUE si string1 ne correspond pas au modèle string2.
[string1 SIMILAR TO string2 \[ESCAPE char\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions) Renvoie TRUE si string1 correspond à l'expression régulière SQL string2.
[string1 NOT SIMILAR TO string2 \[ESCAPE char\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions) Renvoie TRUE si string1 ne correspond pas à l'expression régulière SQL string2.
[value1 IN (value2 \[, value3\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions) Renvoie TRUE si value1 existe dans la liste.
[value1 NOT IN (value2 \[, value3\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#comparison-functions) Renvoie TRUE si value1 n'existe pas dans la liste.
EXISTS (sub-query) Renvoie TRUE si la sous-requête renvoie au moins une ligne.
value IN (sub-query) Renvoie TRUE si value est égal à une ligne du jeu de résultats de la sous-requête.
value NOT IN (sub-query) Renvoie TRUE si value ne figure dans aucune ligne renvoyée par la sous-requête.

Fonctions logiques

Function Description
BITAND Effectue une opération ET binaire.
BITNOT Effectue une opération NON binaire.
BITOR Effectue une opération OU binaire.
BITXOR Effectue une opération OU exclusif binaire.
boolean1 OR boolean2 Renvoie TRUE si boolean1 ou boolean2 est TRUE.
boolean1 AND boolean2 Renvoie TRUE si boolean1 et boolean2 sont tous deux TRUE.
NOT boolean Renvoie TRUE si boolean est FALSE ; renvoie FALSE si boolean est TRUE ; renvoie UNKNOWN si boolean est UNKNOWN.
boolean IS FALSE Renvoie TRUE si boolean est FALSE ; renvoie FALSE si boolean est TRUE ou UNKNOWN.
boolean IS NOT FALSE Renvoie TRUE si boolean est TRUE ou UNKNOWN ; renvoie FALSE si boolean est FALSE.
boolean IS TRUE Renvoie TRUE si boolean est TRUE ; renvoie FALSE si boolean est FALSE ou UNKNOWN.
boolean IS NOT TRUE Renvoie TRUE si boolean est FALSE ou UNKNOWN ; renvoie FALSE si boolean est TRUE.
boolean IS UNKNOWN Renvoie TRUE si boolean est UNKNOWN ; renvoie FALSE si boolean est TRUE ou FALSE.
boolean IS NOT UNKNOWN Renvoie TRUE si boolean est TRUE ou FALSE ; renvoie FALSE si boolean est UNKNOWN.

Fonctions arithmétiques

Function Description
+ numeric Renvoie la valeur numérique.
- numeric Renvoie l'opposé de numeric.
numeric1 + numeric2 Renvoie la somme de numeric1 et numeric2.
numeric1 - numeric2 Renvoie la différence entre numeric1 et numeric2.
numeric1 \* numeric2 Renvoie le produit de numeric1 et numeric2.
numeric1 / numeric2 Renvoie le quotient de numeric1 divisé par numeric2.
numeric1 % numeric2 Renvoie le reste de la division de numeric1 par numeric2.
POWER(numeric1, numeric2) Renvoie numeric1 élevé à la puissance numeric2.
ABS(numeric) Renvoie la valeur absolue de numeric.
SQRT(numeric) Renvoie la racine carrée de numeric.
LN(numeric) Renvoie le logarithme naturel (base e) de numeric.
LOG10(numeric) Renvoie le logarithme en base 10 de numeric.
LOG2(numeric) Renvoie le logarithme en base 2 de numeric.
[LOG(numeric2) LOG(numeric1, numeric2)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#arithmetic-functions)

Avec un seul argument, renvoie le logarithme naturel de numeric2. Avec deux arguments, renvoie le logarithme de numeric2 en base numeric1. Nécessite numeric2 > 0 et numeric1 > 1.

EXP(numeric) Renvoie e élevé à la puissance numeric.
[CEIL(numeric) CEILING(numeric)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#arithmetic-functions)

Arrondit numeric à l'entier supérieur le plus proche.

FLOOR(numeric) Arrondit numeric à l'entier inférieur le plus proche.
SIN(numeric) Renvoie le sinus de numeric.
SINH(numeric) Renvoie le sinus hyperbolique de numeric. Renvoie DOUBLE.
COS(numeric) Renvoie le cosinus de numeric.
TAN(numeric) Renvoie la tangente de numeric.
TANH(numeric) Renvoie la tangente hyperbolique de numeric. Renvoie DOUBLE.
COT(numeric) Renvoie la cotangente de numeric.
ASIN(numeric) Renvoie l'arcsinus de numeric.
ACOS(numeric) Renvoie l'arccosinus de numeric.
ATAN(numeric) Renvoie l'arctangente de numeric.
ATAN2(numeric1, numeric2) Renvoie l'arctangente des coordonnées (numeric1, numeric2).
COSH(numeric) Renvoie le cosinus hyperbolique de numeric. Renvoie DOUBLE.
DEGREES(numeric) Convertit des radians en degrés.
RADIANS(numeric) Convertit des degrés en radians.
SIGN(numeric) Renvoie le signe de numeric.
ROUND(numeric, INT) Arrondit numeric à INT décimales.
PI() Renvoie une valeur proche de π.
E() Renvoie une valeur proche de e.
RAND() Renvoie un double pseudo-aléatoire dans [0,0, 1,0).
RAND(INT) Renvoie un double pseudo-aléatoire dans [0,0, 1,0) avec la graine INT.
RAND_INTEGER(INT) Renvoie un entier pseudo-aléatoire dans [0, INT).
RAND_INTEGER(INT1, INT2) Renvoie un entier pseudo-aléatoire dans [0, INT2) avec la graine INT1.
UUID() Renvoie une chaîne UUID pseudo-aléatoire (RFC 4122 Type 4).
BIN(INT) Renvoie la représentation binaire sous forme de chaîne de INT.
[HEX(numeric) HEX(string)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#arithmetic-functions)

Renvoie la représentation hexadécimale sous forme de chaîne d'un nombre ou d'une chaîne.

TRUNCATE(numeric1, integer2) Tronque numeric1 à integer2 décimales.
UNHEX(expr) Convertit une chaîne hexadécimale en BINARY.
[PERCENTILE(expr, percentage\[, frequency\])](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/functions/systemfunctions/#arithmetic-functions) Renvoie la valeur exacte du centile de expr au pourcentage spécifié.

Fonctions de chaîne

Function Description
[string1

string2](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions)

Renvoie la concaténation de string1 et string2.

[CHAR_LENGTH(string) CHARACTER_LENGTH(string)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions)

Renvoie le nombre de caractères dans string.

UPPER(string) Renvoie string en majuscules.
LOWER(string) Renvoie string en minuscules.
POSITION(string1 IN string2) Renvoie la position (à partir de 1) de la première occurrence de string1 dans string2. Renvoie 0 si non trouvé.
[TRIM(\[BOTH LEADING

TRAILING\] string1 FROM string2)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions)

Supprime les occurrences de string1 au début, à la fin ou aux deux extrémités de string2. Par exemple, TRIM(TRAILING 'fe' FROM 'abcdef') renvoie 'abcd'.

LTRIM(string) Supprime les espaces au début de string.
RTRIM(string) Supprime les espaces à la fin de string.
REPEAT(string, int) Renvoie string répété int fois.
REGEXP_REPLACE Remplace les occurrences d'un modèle dans une chaîne et renvoie le résultat.
[OVERLAY(string1 PLACING string2 FROM integer1 \[FOR integer2\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions) Remplace integer2 caractères dans string1 à partir de integer1 par string2. Par défaut, integer2 correspond à la longueur de string2.
[SUBSTRING(string FROM integer1 \[FOR integer2\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions) Renvoie une sous-chaîne de string commençant à integer1. Si integer2 est spécifié, limite la longueur à integer2 caractères.
REPLACE(string1, string2, string3) Remplace toutes les occurrences non chevauchantes de string2 dans string1 par string3.
[REGEXP_EXTRACT(string1, string2\[, integer\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions) Fractionne string1 à l'aide de l'expression régulière string2 et renvoie la sous-chaîne à la position integer.
INITCAP(string) Met en majuscule la première lettre de chaque mot et met le reste en minuscules.
CONCAT(string1, string2, ...) Concatène plusieurs chaînes. Renvoie NULL si une entrée est NULL.
CONCAT_WS(string1, string2, string3, ...) Concatène string2, string3, ... avec le séparateur string1.
LPAD(string1, integer, string2) Complète string1 à gauche avec string2 jusqu'à atteindre la longueur integer.
RPAD(string1, integer, string2) Complète string1 à droite avec string2 jusqu'à atteindre la longueur integer.
FROM_BASE64(string) Décode une chaîne encodée en Base64.
TO_BASE64(string) Encode string en Base64.
ASCII(string) Renvoie le code ASCII du premier caractère de string.
CHR(integer) Renvoie le caractère ASCII correspondant à integer.
DECODE(binary, string) Décode binary à l'aide de l'encodage spécifié (US-ASCII, ISO-8859-1, UTF-8, UTF-16BE, UTF-16LE ou UTF-16).
ENCODE(string1, string2) Encode string1 à l'aide de l'encodage spécifié par string2 (US-ASCII, ISO-8859-1, UTF-8, UTF-16BE, UTF-16LE ou UTF-16).
INSTR(string1, string2) Renvoie la position de la première occurrence de string2 dans string1.
LEFT(string, integer) Renvoie les integer caractères les plus à gauche de string.
RIGHT(string, integer) Renvoie les integer caractères les plus à droite de string.
[LOCATE(string1, string2\[, integer\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions) Renvoie la position de la première occurrence de string1 dans string2, en commençant à partir de integer.
PARSE_URL Analyse une partie spécifique d'une URL et renvoie la valeur.
REGEXP Recherche un modèle d'expression régulière dans une chaîne et renvoie une valeur booléenne.
REGEXP_SUBSTR(str, regex) Renvoie la première sous-chaîne de str qui correspond à regex.
REGEXP_INSTR(str, regex) Renvoie la position de la première sous-chaîne de str qui correspond à regex.
REGEXP_COUNT(str, regex) Renvoie le nombre de fois où str correspond à regex.
[REGEXP_EXTRACT_ALL(str, regex\[, extractIndex\])](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/functions/systemfunctions/#string-functions) Extrait toutes les sous-chaînes de str qui correspondent à regex et correspondent au groupe extractIndex.
REVERSE(string) Renvoie string dans l'ordre inverse.
SPLIT_INDEX Fractionne une chaîne par un délimiteur et renvoie l'élément à une position spécifiée.
[STR_TO_MAP(string1\[, string2, string3\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions) Fractionne string1 en paires clé-valeur à l'aide de délimiteurs et renvoie une map.
[SUBSTR(string\[, integer1\[, integer2\]\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#string-functions) Renvoie une sous-chaîne de string commençant à integer1 avec une longueur de integer2.
[PRINTF(format\[, obj\]\*)](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/functions/systemfunctions/#string-functions) Renvoie une chaîne formatée à l'aide du formatage de style printf.
TRANSLATE(expr, fromStr, toStr) Remplace chaque caractère de fromStr par le caractère correspondant dans toStr.
[ELT(index, expr\[, exprs\]\*)](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/functions/systemfunctions/#string-functions) Renvoie l'expression à la position index (à partir de 1).
[BTRIM(str\[, trimStr\])](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/functions/systemfunctions/#string-functions) Supprime les caractères de trimStr au début et à la fin de str. La valeur par défaut est l'espace blanc.
STARTSWITH(expr, startExpr) Renvoie TRUE si expr commence par startExpr. Renvoie TRUE si startExpr est vide.
ENDSWITH(expr, endExpr) Renvoie TRUE si expr se termine par endExpr. Renvoie TRUE si endExpr est vide.

Fonctions temporelles

Function Description
DATE string Renvoie une valeur SQL DATE analysée à partir d'une chaîne au format yyyy-MM-dd.
DATEDIFF Calcule la différence entre deux valeurs de date.
DATE_ADD Renvoie une date située un nombre spécifié de jours après une date donnée.
DATE_SUB Renvoie une date située un nombre spécifié de jours avant une date donnée.
TIME string Renvoie une valeur SQL TIME analysée à partir d'une chaîne au format HH:mm:ss.
TIMESTAMP string Renvoie une valeur SQL TIMESTAMP analysée à partir d'une chaîne au format yyyy-MM-dd HH:mm:ss[.SSS].
INTERVAL string range Analyse les intervalles en millisecondes à partir du format dd hh:mm:ss.fff ou en mois à partir du format yyyy-mm.
LOCALTIME Renvoie l'heure locale actuelle sous la forme SQL TIME(0).
LOCALTIMESTAMP Renvoie l'horodatage local actuel sous la forme SQL TIMESTAMP(3).
CURRENT_TIME Renvoie l'heure locale actuelle sous la forme SQL TIME. Équivalent à LOCALTIME.
CURRENT_DATE Renvoie la date locale actuelle sous la forme SQL DATE.
CURRENT_TIMESTAMP Renvoie l'horodatage local actuel sous la forme SQL TIMESTAMP.
NOW() Renvoie l'horodatage local actuel sous la forme SQL TIMESTAMP. Équivalent à CURRENT_TIMESTAMP.
CURRENT_ROW_TIMESTAMP() Renvoie l'horodatage local actuel sous la forme SQL TIMESTAMP.
EXTRACT(timeintervalunit FROM temporal) Extrait une valeur LONG pour l'unité d'intervalle de temps spécifiée à partir de temporal.
YEAR(date) Renvoie la composante année d'une valeur SQL DATE.
QUARTER(date) Renvoie la composante trimestre d'une valeur SQL DATE.
MONTH(date) Renvoie la composante mois d'une valeur SQL DATE.
WEEK(date) Renvoie le numéro de semaine de l'année pour une valeur SQL DATE.
DAYOFYEAR(date) Renvoie le numéro du jour de l'année pour une valeur SQL DATE.
DAYOFMONTH(date) Renvoie le numéro du jour du mois pour une valeur SQL DATE.
HOUR(timestamp) Renvoie la composante heure d'une valeur SQL TIMESTAMP.
MINUTE(timestamp) Renvoie la composante minute d'une valeur SQL TIMESTAMP.
SECOND(timestamp) Renvoie la composante seconde d'une valeur SQL TIMESTAMP.
FLOOR(timepoint TO timeintervalunit) Arrondit timepoint à l'unité d'intervalle de temps inférieure la plus proche.
CEIL(timepoint TO timeintervalunit) Arrondit timepoint à l'unité d'intervalle de temps supérieure la plus proche.
(timepoint1, temporal1) OVERLAPS (timepoint2, temporal2) Renvoie TRUE si les deux intervalles de temps se chevauchent.
DATE_FORMAT Formate une valeur de date STRING à l'aide d'un modèle spécifié.
DATE_FORMAT_TZ Formate une valeur TIMESTAMP sous forme de STRING dans un fuseau horaire et un format spécifiés.
TIMESTAMPADD(timeintervalunit, interval, timepoint) Ajoute un intervalle à timepoint et renvoie le nouveau point temporel.
TIMESTAMPDIFF(timepointunit, timepoint1, timepoint2) Renvoie l'intervalle de temps entre timepoint1 et timepoint2.
CONVERT_TZ(string1, string2, string3) Convertit la chaîne datetime string1 du fuseau horaire string2 vers le fuseau horaire string3. Attend le format yyyy-MM-dd HH:mm:ss.
FROM_UNIXTIME Renvoie une valeur de date VARCHAR à partir d'un horodatage Unix.
UNIX_TIMESTAMP Convertit une valeur de date en horodatage Unix.
TO_DATE Convertit une valeur de date INT ou VARCHAR en type de données DATE.
TO_TIMESTAMP_LTZ(numeric, precision) Convertit un horodatage Unix en TIMESTAMP_LTZ (millisecondes ou secondes).
[TO_TIMESTAMP(string1\[, string2\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#temporal-functions) Convertit string1 en UTC+0 en horodatage. Le format par défaut de string2 est yyyy-MM-dd HH:mm:ss.
TO_TIMESTAMP_TZ Convertit une valeur de date VARCHAR en TIMESTAMP dans un fuseau horaire spécifié.
CURRENT_WATERMARK(rowtime) Renvoie le watermark actuel pour la colonne rowtime.

Fonctions conditionnelles

Function Description
[CASE value WHEN value1\_1 \[, value1\_2\]\* THEN result1 (WHEN value2\_1 \[, value2\_2\]\* THEN result2)\* (ELSE result\_z) END](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#conditional-functions) Renvoie resultX si value correspond à n'importe quelle valeur de la liste valueX.
CASE WHEN condition1 THEN result1 (WHEN condition2 THEN result2)\* (ELSE result\_z) END Renvoie resultX pour la première conditionX qui est TRUE.
NULLIF(value1, value2) Renvoie NULL si value1 est égal à value2 ; sinon, renvoie value1.
[COALESCE(value1, value2\[, value3\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#conditional-functions) Renvoie la première valeur non NULL parmi les arguments.
IF(condition, true\_value, false\_value) Renvoie true\_value si condition est TRUE ; sinon, renvoie false\_value.
IFNULL(input, null\_replacement) Renvoie null\_replacement si input est NULL ; sinon, renvoie input.
IS_ALPHA(string) Renvoie TRUE si tous les caractères de string sont des lettres.
IS_DECIMAL(string) Renvoie TRUE si string peut être analysé comme un nombre valide.
IS_DIGIT(string) Renvoie TRUE si tous les caractères de string sont des chiffres.
[GREATEST(value1\[, value2\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#conditional-functions) Renvoie la valeur maximale parmi les arguments. Renvoie NULL si une entrée est NULL.
[LEAST(value1\[, value2\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#conditional-functions) Renvoie la valeur minimale parmi les arguments. Renvoie NULL si une entrée est NULL.

Fonctions de conversion de type de données

Function Description
CONV Convertit des valeurs numériques ou des caractères entre différentes bases.
CAST(value AS type) Convertit value vers le type spécifié.
[TYPEOF(input) TYPEOF(input, force\_serializable)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#type-conversion-functions)

Renvoie la représentation sous forme de chaîne du type de données de input.

Fonctions de collection

Function Description
CARDINALITY(array) Renvoie le nombre d'éléments dans array.
[array\[INT\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#collection-functions) Renvoie l'élément à la position INT dans array.
ELEMENT(array) Renvoie le seul élément de array si sa cardinalité est 1.
CARDINALITY(map) Renvoie le nombre d'entrées dans map.
[map\[value\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#collection-functions) Renvoie la valeur associée à la clé spécifiée dans la map.

Fonctions JSON

Function Description
[IS JSON \[{ VALUE SCALAR

ARRAY

OBJECT }\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#json-functions)

Renvoie TRUE si l'entrée est une chaîne JSON valide.

[JSON_EXISTS(jsonValue, path \[{ TRUE FALSE

UNKNOWN

ERROR } ON ERROR\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#json-functions)

Renvoie TRUE si une chaîne JSON satisfait la condition de chemin spécifiée.

JSON_STRING(value) Sérialise value en une chaîne JSON.
JSON_VALUE Extrait une valeur scalaire au chemin spécifié à partir d'une chaîne JSON.
[JSON_QUERY(jsonValue, path \[wrapper\] \[ON EMPTY\] \[ON ERROR\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#json-functions) Extrait une valeur JSON à partir d'une chaîne JSON.
[JSON_OBJECT(\[\[KEY\] key VALUE value\]\* \[{ NULL ABSENT } ON NULL\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#json-functions)

Construit un objet JSON à partir de paires clé-valeur.

[JSON_OBJECTAGG(\[KEY\] key VALUE value \[{ NULL ABSENT } ON NULL\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#json-functions)

Agrège des expressions clé-valeur en un objet JSON.

[JSON_ARRAY(\[value\]\* \[{ NULL ABSENT } ON NULL\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#json-functions)

Construit un tableau JSON à partir d'une liste de valeurs.

[JSON_ARRAYAGG(items \[{ NULL ABSENT } ON NULL\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#json-functions)

Agrège les éléments en une chaîne de tableau JSON.

JSON_QUOTE Entoure une chaîne de guillemets doubles en tant que valeur JSON.
JSON_UNQUOTE Supprime les guillemets JSON d'une valeur.

Fonctions de construction de valeurs

Function Description
[(value1 \[, value2\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#value-construction-functions) Renvoie une ligne construite à partir des valeurs données.
[ARRAY\[value1 \[, value2\]\*\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#value-construction-functions) Renvoie un tableau construit à partir des valeurs données.
[MAP\[value1, value2 \[, value3, value4\]\*\]](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#value-construction-functions) Renvoie une map construite à partir des paires clé-valeur données.

Fonctions d'accès aux valeurs

Function Description
tableName.compositeType.field Extrait la valeur d'un champ à partir d'un type composite tel que Tuple ou POJO.
tableName.compositeType.\* Développe un type composite tel que Tuple ou POJO en champs distincts.

Fonctions de regroupement

Function Description
GROUP_ID() Renvoie un entier qui identifie de manière unique une combinaison de clés de regroupement.
[GROUPING(expression1 \[, expression2\]\*) GROUPING_ID(expression1 \[, expression2\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#grouping-functions)

Renvoie un vecteur de bits représentant l'état de regroupement des expressions données.

Fonctions de hachage

Function Description
MD5(string) Renvoie le hachage MD5 de string sous forme de chaîne hexadécimale de 32 caractères.
SHA1(string) Renvoie le hachage SHA-1 de string sous forme de chaîne hexadécimale de 40 caractères.
SHA224(string) Renvoie le hachage SHA-224 de string sous forme de chaîne hexadécimale de 56 caractères.
SHA256(string) Renvoie le hachage SHA-256 de string sous forme de chaîne hexadécimale de 64 caractères.
SHA384(string) Renvoie le hachage SHA-384 de string sous forme de chaîne hexadécimale de 96 caractères.
SHA512(string) Renvoie le hachage SHA-512 de string sous forme de chaîne hexadécimale de 128 caractères.
SHA2(string, hashLength) Renvoie un hachage utilisant SHA-224, SHA-256, SHA-384 ou SHA-512, en fonction de hashLength.
MURMUR_HASH Calcule le hachage Murmur 32 bits de l'entrée.
MURMUR_HASH_64 Calcule le hachage Murmur 64 bits de l'entrée à l'aide de l'algorithme Murmur 128.

Autres fonctions scalaires

Function Description
ISNAN Renvoie TRUE si le nombre à virgule flottante spécifié est NaN (équivalent à Double.isNaN() ou Float.isNaN() en Java).
KEYVALUE Fractionne une chaîne en paires clé-valeur à l'aide de split1 comme délimiteur de paire et de split2 comme délimiteur clé-valeur, puis renvoie la valeur pour la clé spécifiée.

Fonctions tabulaires

Function Description
GENERATE_SERIES Génère une série de valeurs suivant le schéma from, from+1, from+2 ... to-1.
JSON_TUPLE Extrait les valeurs à chaque chemin spécifié à partir d'une chaîne JSON.
MULTI_KEYVALUE Fractionne une chaîne en paires clé-valeur à l'aide de split1 comme délimiteur de paire et de split2 comme délimiteur clé-valeur, puis renvoie les valeurs pour les clés spécifiées.
STRING_SPLIT Fractionne une chaîne en sous-chaînes à l'aide d'un délimiteur spécifié et les renvoie sous forme de liste.

Fonctions d'agrégation

Remarque

À partir de VVR 11.6, les fonctions de variance et d'écart type utilisent des algorithmes améliorés pour une meilleure précision de calcul. Cette modification entraîne une incompatibilité d'état : les jobs utilisant ces fonctions nécessitent un redémarrage sans état. Pour conserver le comportement précédent, définissez table.exec.legacy-stddev-behaviour sur true. Fonctions concernées : STDDEV_POP, STDDEV_SAMP, VAR_POP, VAR_SAMP.

Function Description
[COUNT(\[ALL\] expression DISTINCT expression1 \[, expression2\]\*)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Renvoie le nombre de lignes d'entrée non NULL pour expression (ALL par défaut).

[COUNT(\*) COUNT(1)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Renvoie le nombre total de lignes d'entrée.

[AVG(\[ALL DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Renvoie la moyenne de expression sur toutes les lignes d'entrée (ALL par défaut).

[SUM(\[ALL DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Renvoie la somme de expression sur toutes les lignes d'entrée (ALL par défaut).

[MAX(\[ALL DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Renvoie la valeur maximale de expression sur toutes les lignes d'entrée (ALL par défaut).

[MIN(\[ALL DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Renvoie la valeur minimale de expression sur toutes les lignes d'entrée (ALL par défaut).

[STDDEV_POP(\[ALL DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Renvoie l'écart type de population de expression (ALL par défaut).

[STDDEV_SAMP(\[ALL DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Renvoie l'écart type d'échantillon de expression (ALL par défaut).

[VAR_POP(\[ALL DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Renvoie la variance de population de expression (ALL par défaut).

[VAR_SAMP(\[ALL DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Renvoie la variance d'échantillon de expression (ALL par défaut).

[COLLECT(\[ALL DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Collecte les valeurs de expression sur toutes les lignes d'entrée dans un multiset (ALL par défaut).

[VARIANCE(\[ALL DISTINCT\] expression)](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions)

Équivalent à VAR_SAMP().

RANK() Renvoie le rang d'une valeur au sein d'un groupe de valeurs.
DENSE_RANK() Renvoie le rang dense d'une valeur, incrémenté de 1 pour chaque valeur distincte.
ROW_NUMBER() Renvoie le numéro de ligne séquentiel au sein d'une partition de fenêtre, en commençant par 1.
[LEAD(expression \[, offset\] \[, default\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions) Renvoie la valeur de expression de la ligne située offset positions après la ligne actuelle. Non pris en charge en mode streaming.
[LAG(expression \[, offset\] \[, default\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions) Renvoie la valeur de expression de la ligne située offset positions avant la ligne actuelle.
[LISTAGG(expression \[, separator\])](https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/functions/systemfunctions/#aggregate-functions) Concatène les valeurs de expression de type chaîne, séparées par separator.
APPROX_COUNT_DISTINCT Renvoie un compte approximatif des valeurs distinctes. Utilisez cette fonction à la place de COUNT(DISTINCT) pour améliorer les performances du job.
FIRST_VALUE Renvoie le premier enregistrement non NULL dans un flux de données.
LAST_VALUE Renvoie le dernier enregistrement non NULL dans un flux de données.