Informations de référence sur les fonctions (flux de données)
Les fonctions suivantes sont utilisées avec les opérateurs d'un flux de données pour vous permettre de créer des expressions.
Fonction | Description | Exemple |
---|---|---|
COUNT(value[, value]*) | Retourne le nombre de rangées pour lesquelles une ou plusieurs expressions fournies sont toutes non nulles. | COUNT(expr1) |
COUNT(*) | Retourne le nombre total de rangées extraites, y compris les rangées contenant une valeur nulle. | COUNT(*) |
MAX(value) | Retourne la valeur maximale de l'argument. | MAX(expr) |
MIN(value) | Retourne la valeur minimale de l'argument. | MIN(expr) |
SUM(numeric) | Retourne la somme calculée à partir des valeurs d'un groupe. | SUM(expr1) |
AVG(numeric) | Retourne la moyenne des valeurs numériques dans une expression. | AVG(AGGREGATE_1.src1.attribute1) |
LISTAGG(column[, delimiter]) WITHIN GROUP (order_by_clause) | Concatène les valeurs de la colonne d'entrée avec le délimiteur spécifié, pour chaque groupe en fonction de la clause order. column contient les valeurs que vous voulez synchroniser ensemble dans le résultat. delimiter sépare les valeurs de column dans le résultat. Si aucun délimiteur n'est indiqué, un caractère vide est utilisé. order_by_clause détermine l'ordre dans lequel les valeurs concaténées sont retournées. Cette fonction ne peut être utilisée qu'en tant qu'agrégateur et elle peut être utilisée avec ou sans regroupement. Si vous l'utilisez sans regroupement, le résultat est une rangée unique. Si vous utilisez avec un regroupement, la fonction renvoie une rangée pour chaque groupe. | Considérez une table avec deux colonnes,
Exemple 1 : Sans regroupement
Exemple 2 : Regrouper par
|
Fonction | Description | Exemple |
---|---|---|
FIRST_VALUE(value) OVER ([ partition_clause ] order_by_clause [ windowFrame_clause ] ) |
Retourne la valeur évaluée à la rangée qui est la première rangée du cadre de la fenêtre. | FIRST_VALUE(BANK_ID) OVER (PARTITION BY BANK_ID ORDER BY BANK_NAME ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING) retourne la première valeur de BANK_ID dans une fenêtre pour laquelle les rangées sont calculées comme étant la rangée courante et 1 rangée après celle-ci, avec un partitionnement par BANK_ID et en ordre croissant de BANK_NAME . |
LAG(value[, offset[, default]]) OVER ([ partition_clause ] order_by_clause) |
Retourne la valeur évaluée à la rangée à un décalage donné avant la rangée courante dans la partition. S'il n'existe pas de ligne de ce type, la valeur par défaut est renvoyée. Le décalage et la valeur par défaut sont évalués par rapport à la rangée courante. Si elle est omise, la valeur par défaut du décalage est 1 et la valeur par défaut est NULL. | LAG(BANK_ID, 2, 'hello') OVER (PARTITION BY BANK_ID ORDER BY BANK_NAME DESC) retourne la valeur de BANK_ID de la deuxième rangée avant la rangée courante, avec un partitionnement par BANK_ID et en ordre décroissant de BANK_NAME . Si une telle valeur n'existe pas, hello est retourné. |
LAST_VALUE(value) OVER ([ partition_clause ] order_by_clause [ windowFrame_clause ]) |
Retourne la valeur évaluée à la rangée qui est la dernière rangée du cadre de la fenêtre. | LAST_VALUE(BANK_ID) OVER (PARTITION BY BANK_ID ORDER BY BANK_NAME ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING) retourne la dernière valeur de BANK_ID dans une fenêtre pour laquelle les rangées sont calculées comme étant la rangée courante et 1 rangée après celle-ci, avec un partitionnement par BANK_ID et en ordre croissant de BANK_NAME . |
LEAD(value[, offset[, default]]) OVER ([ partition_clause ] order_by_clause) |
Retourne la valeur évaluée à la rangée à un décalage donné après la rangée courante dans la partition. S'il n'existe pas de ligne de ce type, la valeur par défaut est renvoyée. Le décalage et la valeur par défaut sont évalués par rapport à la rangée courante. Si elle est omise, la valeur par défaut du décalage est 1 et la valeur par défaut est NULL. | LEAD(BANK_ID, 2, 'hello') OVER (PARTITION BY BANK_ID ORDER BY BANK_NAME) retourne la valeur de BANK_ID de la deuxième rangée après la rangée courante, avec un partitionnement par BANK_ID et en ordre croissant de BANK_NAME . Si une telle valeur n'existe pas, hello est retourné. |
RANK() OVER([ partition_clause ] order_by_clause) |
Retourne le rang de la rangée courante avec les écarts, en comptant à partir de 1. | RANK() OVER (PARTITION BY BANK_ID ORDER BY BANK_NAME) retourne le rang de chaque rangée dans le groupe de partitions de BANK_ID , en ordre croissant de BANK_NAME . |
ROW_NUMBER() OVER([ partition_clause ] order_by_clause) |
Retourne le numéro unique de la rangée courante dans sa partition, en comptant à partir de 1. | ROW_NUMBER() OVER (PARTITION BY BANK_ID ORDER BY BANK_NAME) retourne le numéro unique de chaque rangée dans le groupe de partitions de BANK_ID , en ordre croissant de BANK_NAME . |
Fonction | Description | Exemple |
---|---|---|
ABS(numeric) | Retourne la valeur absolue de la valeur numeric . | ABS(-1) |
CEIL(numeric) | Retourne le plus petit entier ne dépassant pas la valeur numeric | CEIL(-1,2) |
FLOOR(numeric) | Retourne le plus grand nombre entier ne dépassant pas la valeur numeric . | FLOOR(-1,2) |
MOD(numeric1, numeric2) | Retourne le reste après la division de numeric1 par numeric2 . | MOD(8,2) |
POWER(numeric1, numeric2) | Élève numeric1 à la puissance numeric2 . | POWER(2,3) |
ROUND(numeric1, numeric2) | Retourne la valeur numeric1 arrondie à numeric2 décimales. | ROUND(2.5,0) |
TRUNC(numeric1, numeric2) | Retourne la valeur numeric1 tronquée à numeric2 décimales. | TRUNC(2.5,0) |
TO_NUMBER(expr[, format, locale]) | Convertit une expression expr en nombre, en fonction du format et des paramètres régionaux (locale ) facultatifs fournis. Les paramètres régionaux par défaut sont en-US . Marqueurs de langue pris en charge.Modèles de format pris en charge :
|
|
Seul l'opérateur Expression prend en charge les fonctions de tableau.
Fonction | Description | Exemple |
---|---|---|
ARRAY_POSITION(array(...), element) | Retourne la position de la première occurrence de l'élément donné dans le tableau donné. La position n'est pas basée sur zéro, mais elle commence par 1. | ARRAY_POSITION(array(3, 2, 1, 4, 1), 1) retourne 3 |
REVERSE(array(...)) |
Retourne le tableau d'éléments indiqué dans un ordre inverse. | REVERSE(array(2, 1, 4, 3)) retourne [3,4,1,2] |
ELEMENT_AT(array(...), index) |
Retourne l'élément du tableau donné à la position d'index indiquée. L'index n'est pas basé sur zéro, mais il commence par 1. Si |
ELEMENT_AT(array(1, 2, 3), 2) retourne 2 |
Fonction | Description | Exemple |
---|---|---|
COALESCE(value, value [, value]*) | Retourne le premier argument non nul, s'il existe, sinon retourne une valeur nulle. | COALESCE(NULL, 1, NULL) retourne 1 |
NULLIF(value, value) | Retourne une valeur nulle si les deux valeurs sont égales, sinon retourne la première valeur. | NULLIF('ABC','XYZ') retourne ABC |
Fonction | Description | Exemple |
---|---|---|
CURRENT_DATE |
Retourne la date courante. | CURRENT_DATE retourne la date du jour, par exemple 2023-05-26 |
CURRENT_TIMESTAMP |
Retourne la date et l'heure courantes pour le fuseau horaire de la session. | CURRENT_TIMESTAMP retourne la date du jour et l'heure courante, par exemple 2023-05-26 12:34:56
|
DATE_ADD(date, number_of_days) |
Retourne la date correspondant au number de jours spécifié après la date spécifiée. |
DATE_ADD('2017-07-30', 1) retourne 2017-07-31 |
DATE_FORMAT(expr, format[, locale]) |
Formate une expression Modèles de format de date pris en charge :
|
|
DAYOFMONTH(date) |
Retourne le jour du mois dans la date indiquée. | DAYOFMONTH('2020-12-25') retourne 25 |
DAYOFWEEK(date) |
Retourne le jour de la semaine dans la date indiquée. | DAYOFWEEK('2020-12-25') retourne 6 pour vendredi. Aux États-Unis, le dimanche est considéré comme 1, le lundi est 2, et ainsi de suite. |
DAYOFYEAR(date) |
Retourne le jour de l'année dans la date indiquée. | DAYOFYEAR('2020-12-25') retourne 360 |
WEEKOFYEAR(date) |
Retourne la semaine de la date dans l'année. |
|
HOUR(datetime) |
Retourne la valeur d'heure de date/heure. | HOUR('2020-12-25 15:10:30') retourne 15 |
LAST_DAY(date) |
Retourne le dernier jour du mois de la date indiquée. | LAST_DAY ('2020-12-25') retourne 31 |
MINUTE(datetime) |
Retourne la valeur des minutes de date/heure. | HOUR('2020-12-25 15:10:30') retourne 10 |
MONTH(date) |
Retourne la valeur du mois de la date indiquée. | MONTH ('2020-06-25') retourne 6 |
QUARTER(date) |
Retourne le trimestre de l'année de la date indiquée. | QUARTER('2020-12-25') retourne 4 |
SECOND(datetime) |
Retourne la valeur des secondes de date/heure. | SECOND('2020-12-25 15:10:30') retourne 30 |
TO_DATE(string, format_string[, localeStr]) |
Analyse l'expression de chaîne en considérant l'expression format_string comme une date. Les paramètres régionaux sont facultatifs. La valeur par défaut est en-US . Marqueurs de langue pris en charge.Dans les expressions de pipeline,
|
|
TO_TIMESTAMP(expr, format_string[, localeStr]) |
Convertit une expr de type VARCHAR en une valeur de type TIMESTAMP, en fonction de format_string et de localeStr (facultatif).Dans les expressions de pipeline,
|
TO_TIMESTAMP('2020-10-11 11:10:10', 'yyyy-MM-dd HH:mm:ss') retourne un objet TIMESTAMP représentant 11am 10:10 Oct 11th, 2020 |
WEEK(date) |
Retourne la valeur de semaine de la date indiquée. |
WEEK('2020-06-25') retourne 4 |
YEAR(date) |
Retourne la valeur d'année de la date indiquée. | YEAR('2020-06-25') retourne 2020 |
ADD_MONTHS(date_expr, number_months) |
Retourne la date après l'ajout du nombre de mois spécifié à la date, la chaîne ou l'horodatage spécifié dans un format de type yyyy-MM-dd ou yyyy-MM-dd HH:mm:ss.SSS . |
|
MONTHS_BETWEEN(start_date_expr, end_date_expr) |
Retourne le nombre de mois entre Un nombre entier est retourné si les deux dates correspondent au même jour du mois, ou au dernier jour de leur mois respectif. Sinon, la différence est calculée sur la base de 31 jours par mois. |
|
FROM_UTC_TIMESTAMP(time_stamp, time_zone) |
Interprète une date, un horodatage ou une chaîne en tant que temps UTC et le convertit en horodatage dans le fuseau horaire spécifié. Pour une chaîne, utilisez un format tel que : Le format de fuseau horaire est soit un ID zone basé sur la région (tel que "zone/ville", par exemple "Asie/Séoul"), soit un décalage de fuseau horaire (par exemple, UTC+02). |
FROM_UTC_TIMESTAMP('2017-07-14 02:40:00.0', 'GMT+1') retourne 2017-07-14 03:40:00.0 |
TO_UTC_TIMESTAMP(time_stamp, time_zone) |
Convertit une date, un horodatage ou une chaîne dans le fuseau horaire spécifié en horodatage UTC. Pour une chaîne, utilisez un format tel que : Le format de fuseau horaire est soit un ID zone basé sur la région (tel que "zone/ville", par exemple "Asie/Séoul"), soit un décalage de fuseau horaire (par exemple, UTC+02). |
TO_UTC_TIMESTAMP('2017-07-14 02:40:00.0', 'GMT+1') retourne 2017-07-14 01:40:00.0
|
FROM_UNIXTIME(unix_time[, fmt]) |
Convertit l'heure ou l'heure de référence Unix spécifiée en chaîne qui représente l'horodatage de ce moment dans le fuseau horaire du système courant et dans le format spécifié. Note : L'heure Unix est le nombre de secondes écoulées depuis le 1er janvier 1970 00:00:000000 UTC. Si |
Le fuseau horaire par défaut est PST dans les exemples |
UNIX_TIMESTAMP([time_expr[, fmt]]) |
Convertit l'heure courante ou spécifiée en horodatage Unix en secondes.
Si Si |
Le fuseau horaire par défaut est PST dans cet exemple |
INTERVAL 'year' YEAR[(year_precision)] |
Renvoie une période en années. year_precision est le nombre de chiffres dans le champ année; il est compris entre 0 et 9. Si year_precision est omis, la valeur par défaut est 2 (elle doit être inférieure à 100 ans). |
|
INTERVAL 'year month' YEAR[(year_precision)] TO MONTH |
Retourne une période en années et en mois. Permet de stocker une période à l'aide des champs year et month. year_precision est le nombre de chiffres dans le champ année; il est compris entre 0 et 9. Si year_precision est omis, la valeur par défaut est 2 (elle doit être inférieure à 100 ans). |
INTERVAL '100-5' YEAR(3) TO MONTH retourne un intervalle de 100 ans et 5 mois. Vous devez spécifier 3 en tant que valeur de précision de l'année de début. |
INTERVAL 'month' MONTH[(month_precision)] |
Retourne une période en mois. month_precision est le nombre de chiffres dans le champ mois; il est compris entre 0 et 9. Si month_precision est omis, la valeur par défaut est 2 (elle doit être inférieure à 100 ans). |
INTERVAL '200' MONTH(3) retourne un intervalle de 200 mois. Vous devez spécifier 3 en tant que valeur de précision du mois. |
INTERVAL 'day time' DAY[(day_precision)] TO SECOND[(fractional_seconds_precision)] |
Retourne une période sous forme de jours, heures, minutes et secondes. day_precision est le nombre de chiffres dans le champ jour; il est compris entre 0 et 9. La valeur par défaut est 2. fractional_seconds_precision est le nombre de chiffres dans la partie fractionnaire de la deuxième valeur du champ time; il est compris entre 0 et 9. |
INTERVAL '11 10:09:08.555' DAY TO SECOND(3) retourne un intervalle de 11 jours, 10 heures, 09 minutes, 08 secondes et 555 millièmes de seconde |
INTERVAL 'day time' DAY[(day_precision)] TO MINUTE[(minute_precision)] |
Retourne une période sous forme de jours, heures et minutes. day_precision est le nombre de chiffres dans le champ jour; il est compris entre 0 et 9. La valeur par défaut est 2. minute_precision est le nombre de chiffres dans le champ minute; il est compris entre 0 et 2. La valeur par défaut est 2. |
INTERVAL '11 10:09' DAY TO MINUTE retourne un intervalle de 11 jours, 10 heures et 09 minutes |
INTERVAL 'day time' DAY[(day_precision)] TO HOUR[(hour_precision)] |
Retourne une période sous forme de jours et d'heures. day_precision est le nombre de chiffres dans le champ jour; il est compris entre 0 et 9. La valeur par défaut est 2. hour_precision est le nombre de chiffres dans le champ heure; il est compris entre 0 et 2. La valeur par défaut est 2. |
INTERVAL '100 10' DAY(3) TO HOUR retourne un intervalle de 100 jours et 10 heures |
INTERVAL 'day' DAY[(day_precision)] |
Retourne une période sous forme de jours. day_precision est le nombre de chiffres dans le champ jour; il est compris entre 0 et 9. La valeur par défaut est 2. |
INTERVAL '999' DAY(3) retourne un intervalle de 999 jours |
INTERVAL 'time' HOUR[(hour_precision)] TO SECOND[(fractional_seconds_precision)] |
Retourne une période sous forme d'heures, minutes et secondes. hour_precision est le nombre de chiffres dans le champ heure; il est compris entre 0 et 2. La valeur par défaut est 2. fractional_seconds_precision est le nombre de chiffres dans la partie fractionnaire de la deuxième valeur du champ time; il est compris entre 0 et 9. |
INTERVAL '09:08:07.6666666' HOUR TO SECOND(7) retourne un intervalle de 9 heures, 08 minutes et 7,6666666 secondes |
INTERVAL 'time' HOUR[(hour_precision)] TO MINUTE[(minute_precision)] |
Retourne une période sous forme d'heures et de minutes. hour_precision est le nombre de chiffres dans le champ heure; il est compris entre 0 et 2. La valeur par défaut est 2. minute_precision est le nombre de chiffres dans le champ minute; il est compris entre 0 et 2. La valeur par défaut est 2. |
INTERVAL '09:30' HOUR TO MINUTE retourne un intervalle de 9 heures et 30 minutes |
INTERVAL 'hour' HOUR[(hour_precision)] |
Retourne une période sous forme d'heures. hour_precision est le nombre de chiffres dans le champ heure; il est compris entre 0 et 2. La valeur par défaut est 2. |
INTERVAL '40' HOUR retourne un intervalle de 40 heures |
INTERVAL 'minute' MINUTE[(minute_precision)] |
Retourne une période sous forme de minutes. minute_precision est le nombre de chiffres dans le champ minute; il est compris entre 0 et 2. La valeur par défaut est 2. |
INTERVAL '15' MINUTE retourne un intervalle de 15 minutes |
INTERVAL 'time' MINUTE[(minute_precision)] TO SECOND[(fractional_seconds_precision)] |
Retourne une période sous forme de minutes et secondes. minute_precision est le nombre de chiffres dans le champ minute; il est compris entre 0 et 2. La valeur par défaut est 2. fractional_seconds_precision est le nombre de chiffres dans la partie fractionnaire de la deuxième valeur du champ time; il est compris entre 0 et 9. |
INTERVAL '15:30' MINUTE TO SECOND retourne un intervalle de 15 minutes et 30 secondes |
INTERVAL 'second' SECOND[(fractional_seconds_precision)] |
Retourne une période sous forme de secondes. fractional_seconds_precision est le nombre de chiffres dans la partie fractionnaire du champ second; il est compris entre 0 et 9. La valeur par défaut est 3. |
INTERVAL '15.678' SECOND retourne un intervalle de 15,678 secondes |
Fonction | Description | Exemple |
---|---|---|
MD5(all data types) | Calcule un total de contrôle MD5 pour le type de données et retourne une valeur de chaîne. | MD5(column_name) |
SHA1(all data types) | Calcule une valeur de hachage SHA-1 pour le type de données et retourne une valeur de chaîne. | SHA1(column_name) |
SHA2(all data types, bitLength) | Calcule une valeur de hachage SHA-2 pour le type de données et retourne une valeur de chaîne. bitLength est un nombre entier. | SHA2 (column_name, bitLength peut être réglé à 0 (équivaut à 256), 256, 384 ou 512). |
ORA_HASH(expr, [max_bucket], [seed_value]) |
Calcule une valeur de hachage pour
Oracle applique la fonction de hachage à la combinaison de |
|
Fonction | Description | Exemple |
---|---|---|
SCHEMA_OF_JSON(string) | Analyse une chaîne JSON et en tire le schéma au format LDD. |
|
FROM_JSON(column, string) | Analyse une colonne contenant une chaîne JSON dans l'un des types suivants, avec le schéma spécifié.
|
|
TO_JSON(column) | Convertit une colonne contenant le type Struct ou Array of Structs, ou Map ou Array of Maps, en chaîne JSON. | TO_JSON(TO_STRUCT('s1', TO_ARRAY(1,2,3), 's2', TO_MAP('key', 'value'))) retourne une chaîne JSON {"s1":[1,2,3],"s2":{"key":"value"}} |
TO_MAP(string,column[,string,column]*) | Crée une colonne de type Map. Les colonnes d'entrée doivent être regroupées en paires clé-valeur. Les colonnes de clé d'entrée ne peuvent pas être nulles et elles doivent toutes avoir le même type de données. Les colonnes de valeur d'entrée doivent toutes avoir le même type de données. |
|
TO_STRUCT(string,column[,string,column]*) | Crée une colonne de type Struct. Les colonnes d'entrée doivent être regroupées en paires clé-valeur. |
|
TO_ARRAY(column[,column]*) | Crée une colonne de type Array. Les colonnes d'entrée doivent toutes avoir le même type de données. |
|
Les opérateurs de flux de données qui prennent en charge la création d'expressions et de types de données hiérarchiques peuvent utiliser des fonctions d'ordre supérieur.
Les opérateurs pris en charge sont les suivants :
-
Regrouper
-
Expression
-
Filtre
-
Jointure
-
Consulter
-
Split
-
Faire pivoter
Fonction | Description | Exemple |
---|---|---|
TRANSFORM(column, lambda_function) | Prend un tableau et une fonction anonyme, et configure un nouveau tableau en appliquant la fonction à chaque élément, et en affectant le résultat au tableau de sortie. | Pour un tableau d'entrée de nombres entiers [1, 2, 3] , TRANSFORM(array, x -> x + 1) retourne un nouveau tableau de [2, 3, 4] . |
TRANSFORM_KEYS(column, lambda_function) | Prend une carte et une fonction avec 2 arguments (clé et valeur), et retourne une carte dans laquelle les clés ont le type du résultat de la fonction lambda, et les valeurs ont le type des valeurs de mappage de colonne. | Pour un mappage d'entrée avec des clés entières et des valeurs de chaîne de {1 -> 'value1', 2 -> 'value2', 3 -> 'value3'} , TRANSFORM_KEYS(map, (k, v) -> k * 2 + 1) retourne un nouveau mappage de {3 -> 'value1', 5 -> 'value2', 7 -> 'value3'} . |
TRANSFORM_VALUES(column, lambda_function) | Prend une carte et une fonction avec 2 arguments (clé et valeur), et retourne une carte dans laquelle les valeurs ont le type du résultat des fonctions lambda, et les clés ont le type des clés de carte de colonne. | Pour un mappage d'entrée avec des clés de chaîne et des valeurs de chaîne de {'a' -> 'value1', 'b' -> 'value2', 'c' -> 'value3'} , TRANSFORM_VALUES(map, (k, v) -> k || __ '' || v) retourne un nouveau mappage de {'a' -> 'a_value1', 'b' -> 'b_value2', 'c' -> 'c_value3'} . |
ARRAY_SORT(array(...), lambda_function) |
Seul l'opérateur Expression prend en charge Prend un tableau et trie en fonction de la fonction donnée qui prend 2 arguments. La fonction doit retourner -1, 0 ou 1 selon que le premier élément est inférieur, égal ou supérieur au deuxième élément. Si la fonction est omise, le tableau est trié dans l'ordre croissant. |
Le tableau retourné est le suivant : [1,5,6] |
Fonction | Description | Exemple |
---|---|---|
CASE WHEN condition1 THEN result1 ELSE result2 END | Retourne la valeur pour laquelle une condition est satisfaite. | CASE WHEN 1 > 0 THEN 'ABC' ELSE 'XYZ' END retourne ABC si 1> 0 , sinon retourne XYZ |
AND | Opérateur logique AND. Retourne Vrai si les deux opérandes sont vrais, sinon retourne Faux. | (x = 10 AND y = 20) retourne "Vrai" si x est égal à 10 et y égal à 20. Si l'un ou l'autre n'est pas vrai, alors "Faux" est retourné |
OR | Opérateur logique OR. Retourne Vrai si l'un ou l'autre opérande est vrai ou si les deux sont vrais, sinon retourne Faux. | (x = 10 OR y = 20) retourne "Faux" si x n'est pas égal à 10 et y n'est pas égal à 20. Si l'un ou l'autre est vrai, alors "Vrai" est retourné |
NOT | Opérateur logique NOT. | |
LIKE | Met en correspondance des modèles de chaîne, si string1 correspond au modèle dans string2. | |
= | Teste l'égalité. Retourne Vrai si expr1 est égal à expr2, sinon retourne Faux. | x = 10 retourne "Vrai" lorsque la valeur de x est 10, sinon "Faux" est retourné |
!= | Teste l'inégalité. Retourne Vrai si expr1 n'est pas égal à expr2, sinon retourne Faux. | x != 10 retourne "Faux" si la valeur de x est 10, sinon "Vrai" est retourné |
> | Teste si une expression est supérieure. Retourne Vrai si expr1 est supérieur à expr2. | x > 10 retourne "Vrai" si la valeur de x est supérieure à 10, sinon "Faux" est retourné |
>= | Teste si une expression est supérieure ou égale. Retourne Vrai si expr1 est supérieur ou égal à expr2. | x > =10 retourne "Vrai" si la valeur de x est supérieure ou égale à 10, sinon "Faux" est retourné |
< | Teste si une expression est inférieure. Retourne Vrai si expr1 est inférieur à expr2. | x < 10 retourne "Vrai" si la valeur de x est inférieure à 10, sinon "Faux" est retourné |
<= | Teste si une expression est inférieure ou égale. Retourne Vrai si expr1 est inférieur ou égal à expr2. | x <= 10 retourne "Vrai" si la valeur de x est inférieure à 10, sinon "Faux" est retourné |
|| | Concatène deux chaînes. | 'XYZ' || 'hello' retourne 'XYZhello' |
BETWEEN | Évalue un intervalle. | FILTER_1.BANK.BANK_ID BETWEEN 1003 AND 1007 |
IN | Vérifie si une expression correspond à une liste de valeurs. | FILTER_2.ORDERS.ORDER_ID IN (1003, 1007) |
Fonctions | Description | Exemple |
---|---|---|
CAST(value AS type) | Retourne la valeur indiquée dans le type indiqué. | CAST("10" AS INT) retourne 10 |
CONCAT(string, string) | Retourne les valeurs combinées des chaînes ou des colonnes. | CONCAT('Oracle','SQL') retourne OracleSQL |
CONCAT_WS(separator, expression1, expression2, expression3,...) |
Retourne les valeurs combinées des chaînes ou des colonnes à l'aide du séparateur spécifié entre les chaînes ou les colonnes. Un séparateur est requis et doit être une chaîne. Au moins une expression doit être fournie après le séparateur. Par exemple : |
CONCAT_WS('-', 'Hello', 'Oracle') retourne Hello-Oracle
Si un enfant de la fonction est un tableau, le tableau est aplati :
|
INITCAP(string) | Retourne la chaîne avec une majuscule à la première lettre de chaque mot, tandis que toutes les autres lettres sont en minuscules, et chaque mot est délimité par une espace. | INITCAP('oRACLE sql') retourne Oracle Sql |
INSTR(string, substring[start_position]) | Retourne l'index (à partir de 1) de la première occurrence de la sous-chaîne (substring ) dans la chaîne string . | INSTR('OracleSQL', 'SQL') retourne 7 |
LOWER(string) | Retourne la chaîne avec toutes les lettres en minuscules. | LOWER('ORACLE') retourne oracle |
LENGTH(string) | Retourne la longueur de la chaîne en nombre de caractères ou le nombre d'octets dans le cas de données binaires. La longueur de la chaîne comprend les espaces de fin. | LENGTH('Oracle') retourne 6 |
LTRIM(string) | Retourne la chaîne avec les espaces de début supprimés à partir de la gauche. | LTRIM(' Oracle') |
NVL(expr1, epxr2) | Retourne l'argument qui n'est pas vide. | NVL(EXPRESSION_3.CUSTOMERS_JSON.CONTINENT_ID, ROWID()) |
REGEXP_SUBSTR(string, regexp[, RegexGroupIdx]) | Recherche et extrait de la chaîne d'entrée la chaîne qui correspond à un modèle d'expression rationnelle. Si l'index de groupe de saisie facultatif est fourni, la fonction extrait le groupe particulier. |
REGEXP_SUBSTR('22;33;44', '([0-9.]*);([0-9.]*);([0-9.]*)', 1) retourne 22 |
REPLACE(string, search, replacement) | Remplace toutes les occurrences de la chaîne recherchée search par la chaîne de remplacement replacement .Si Si la chaîne de remplacement | REPLACE('ABCabc', 'abc', 'DEF') retourne ABCDEF |
RTRIM(string) | Retourne la chaîne avec les espaces de début supprimés à partir de la droite. | RTRIM('Oracle ') |
SUBSTRING(string, position[, substring_length]) | Retourne la sous-chaîne à partir de la position indiquée. | SUBSTRING('Oracle SQL' FROM 2 FOR 3) retourne rac |
Pour les chiffres, TO_CHAR(expr) et pour les dates TO_CHAR(expr, format[, locale]) | Convertit les nombres et les dates en chaînes. Pour les nombres, aucun format n'est requis. Pour les dates, utilisez le même format que DATE_FORMAT décrit dans Fonctions de date et d'heure. Les paramètres régionaux par défaut sont en-US . Voir les étiquettes de langue prises en charge.Dans les expressions de pipeline,
| Exemple de nombre : Exemple de date : |
UPPER(string) | Retourne une chaîne avec toutes les lettres en majuscules. | UPPER('oracle') retourne ORACLE |
LPAD(str, len[, pad]) | Retourne une chaîne avec remplissage à gauche avec les caractères spécifiés jusqu'à une certaine longueur. Si le caractère pad est omis, la valeur par défaut est un espace. | LPAD('ABC', 5, '*') retourne '**ABC' |
RPAD(str, len[, pad]) | Retourne une chaîne avec remplissage à droite avec les caractères spécifiés jusqu'à une certaine longueur. Si le caractère pad est omis, la valeur par défaut est un espace. | RPAD('XYZ', 6, '+' ) returns 'XYZ+++' |
Fonction | Description | Exemple |
---|---|---|
NUMERIC_ID() | Génère pour chaque rangée un identificateur universel unique qui est un numéro 64 bits. | NUMERIC_ID() retourne, par exemple, 3458761969522180096 et 3458762008176885761 |
ROWID() | Génère des nombres monotones croissants de 64 bits. | ROWID() retourne par exemple 0 , 1 , 2 et ainsi de suite |
UUID() | Génère pour chaque rangée un identifiant universel unique qui est une chaîne de 128 bits. | UUID() retourne par exemple 20d45c2f-0d56-4356-8910-162f4f40fb6d |
MONOTONICALLY_INCREASING_ID() |
Génère des entiers uniques monotones croissants de 64 bits, qui ne sont pas des nombres consécutifs. | MONOTONICALLY_INCREASING_ID() retourne, par exemple, 8589934592 et 25769803776 |