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, |
| 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
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
À 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. |