Référence Functions (Pipeline)

Les fonctions suivantes sont utilisées avec les opérateurs d'expression et de décision dans un pipeline.

Fonctions arithmétiques
FonctionDescriptionExemple
ABS(numeric)Renvoie la puissance absolue de la valeur numeric.ABS(-1)
CEIL(numeric)Renvoie l'entier le plus petit qui n'est pas supérieur à la valeur numericCEIL(-1,2)
EXP(numeric) Renvoie e élevé à la puissance de numeric. La constante e est égale à 2.71828182845904, la base du logarithme naturel. EXP(2)
FLOOR(numeric)Renvoie l'entier le plus grand qui n'est pas supérieur à la valeur numericFLOOR(-1,2)
MOD(numeric1, numeric2)Renvoie le reste après que numeric1 est divisé par numeric2.MOD(8,2)
POW(numeric1, numeric2)Place numeric1 comme puissance de numeric2.POW(2,3)
ROUND(numeric1, numeric2)Renvoie numeric1 arrondi à numeric2 décimales.ROUND(2.5,0)
TRUNC(numeric1, numeric2)Renvoie numeric1 tronqué à numeric2 décimales.TRUNC(2.5,0)
TO_NUMBER(expr[, format, locale])Convertit une valeur expr en nombre, en fonction des éléments format et locale (facultatif) fournis. L'environnement local par défaut est en-US. Balises de langue prises en charge.

Modèles de format pris en charge :

  • 0 : chiffre
  • # : chiffre (zéro affiché comme absent)
  • . : espace réservé pour le séparateur décimal
  • , : espace réservé pour le séparateur de groupes
  • E : sépare la mantisse et l'exposant pour les formats exponentiels
  • - : préfixe négatif par défaut
  • ¤ : signe de devise ; remplacé par le symbole de devise ; s'il est double, remplacé par le symbole de devise internationale ; s'il est présent dans un modèle, le séparateur décimal monétaire est utilisé à la place du séparateur décimal

TO_NUMBER('5467.12') returns renvoie 5467.12

TO_NUMBER('-USD45,677.7', '¤¤##,###.#', 'en-US') renvoie -45677.7

FORMAT_NUMBER(value, format) Renvoie une représentation formatée de la valeur donnée.

FORMAT_NUMBER(123.4567, '^-09.3f') renvoie 0123.4570

Fonctions conditionnelles
FonctionDescriptionExemple
NULLIF(value, value)Renvoie la valeur NULL si les deux valeurs sont égales, sinon, renvoie la première valeur.NULLIF('ABC','XYZ') renvoie ABC
ISNULL(value) Recherche la valeur NULL. ISNULL('ABC') renvoie false
ISNOTNULL(value) Vérifie si la valeur n'est pas NULL. ISNOTNULL('ABC') renvoie true
Fonctions de date et d'heure
FonctionDescriptionExemple
CURRENT_DATERenvoie la date actuelle.CURRENT_DATE renvoie la date du jour
CURRENT_TIMESTAMPRenvoie la date et l'heure en cours avec le fuseau horaire dans le fuseau horaire de la session.CURRENT_TIMESTAMP renvoie la date du jour et l'heure en cours
DATE_ADD(date, number)Renvoie la date qui correspond au nombre (number) de jours indiqué après la valeur date spécifiée.DATE_ADD('2017-07-30', 1) renvoie 2017-07-31
DATE_SUB(date, number) Renvoie la date qui est la valeur number (jours) spécifiée avant la valeur date spécifiée. DATE_SUB('2017-07-30', 1) renvoie 2017-07-29
DATE_FORMAT(expr, format[, locale])Formate une valeur expr de date, en fonction des éléments format et locale (facultatif) fournis. L'environnement local par défaut est en-US. Balises de langue prises en charge.

Dans les expressions de pipeline, format doit utiliser les codes de format strftime.

DATE_FORMAT(2020-10-13, '%d-%m-%Y') renvoie '13-10-2020'.

Le premier argument est un objet Date représentant le 13 octobre 2020.

DATE_FORMAT(2018-junio-17, '%d/%B/%y', 'es-ES') renvoie '17/junio/18'

WEEKOFYEAR(date) Renvoie la semaine de la date dans l'année.

WEEKOFYEAR('2022-07-28') renvoie 30

WEEKOFYEAR('2022-07-28 13:24:30') renvoie 30

TO_DATE(string, format_string[, localeStr])Analyse l'expression de chaîne avec l'expression format_string pour générer une date. L'environnement local est facultatif. La valeur par défaut est en-US. Balises de langue prises en charge.

Dans les expressions de pipeline, format_string doit utiliser les codes de format strftime.

Exemples de code de format :

'%a %d-%m-%Y' renvoie Tue 10-12-2019

'%a %d/%m/%Y' renvoie Tue 10/12/2019

'%a %d/%m/%y' renvoie Tue 10/12/19

TO_DATE('12 June 2018', '%m/%d/%Y') renvoie 06/12/2018

TO_TIMESTAMP(expr, format_string[, localeStr])Convertit une valeur expr VARCHAR en valeur TIMESTAMP, en fonction des éléments format_string et localeStr (facultatif) fournis.

Dans les expressions de pipeline, format_string doit utiliser les codes de format strftime.

TO_TIMESTAMP('2020-10-10 11:10:10', '%A %d-%m-%Y, %H:%M:%S') renvoie un objet TIMESTAMP représentant Saturday 10-10-2020, 11:10:10
MONTHS_BETWEEN(start_date_expr, end_date_expr)

Renvoie le nombre de mois entre start_date_expr et end_date_expr. start_date_expr et end_date_expr peuvent être des dates, des horodatages ou des chaînes avec un format tel que yyyy-MM-dd ou yyyy-MM-dd HH:mm:ss.SSS

Un nombre entier est renvoyé si les deux dates sont le même jour du mois ou le dernier jour de leurs mois respectifs. Sinon, la différence est calculée sur la base de 31 jours par mois.

MONTHS_BETWEEN('2022-01-01', '2022-01-31') renvoie 1

MONTHS_BETWEEN('2022-07-28', '2020-07-25') renvoie 24

MONTHS_BETWEEN('2022-07-28 13:24:30', '2020-07-25 13:24:30') renvoie 24

Fonctions hiérarchiques
FonctionDescriptionExemple
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 NULL et doivent toutes comporter le même type de données. Les colonnes de valeur d'entrée doivent toutes comporter le même type de données.

TO_MAP('Ename',Expression_1.attribute1) renvoie une colonne de type Map : {"ENAME" -> 100}

TO_MAP('block', EXPRESSION_1.MYSOURCE.address.block, 'unit', EXPRESSION_1.MYSOURCE.address.unit) renvoie une colonne de type Map : {"block" -> 1,"unit" -> 1}

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_STRUCT('Ename',Expression_1.attribute1) renvoie {100}

TO_STRUCT('Id',Expression_1.attribute1, 'Name', Expression_1.attribute2) renvoie {100, "John"}

TO_ARRAY(column[,column]*)Crée une colonne de type Array. Les colonnes d'entrée doivent toutes comporter le même type de données.

TO_Array(Expression_1.attribute1) renvoie [100]

TO_ARRAY(EXPRESSION_1.attribute2,EXPRESSION_1.attribute3) renvoie ["John","Friend"]

Fonctions d'opérateur (comparaison)
FonctionDescriptionExemple
ANDOpérateur AND logique. Renvoie true si les deux opérandes ont la valeur True, sinon, renvoie false.(x = 10 AND y = 20) renvoie "true" si x est égal à 10 et y est égal à 20. Si l'une des conditions n'est pas remplie, la fonction renvoie "false".
OROpérateur OR logique. Renvoie true si l'une des opérandes ou les deux opérandes ont la valeur True, sinon, renvoie false.(x = 10 OR y = 20) renvoie "false" si x n'est pas égal à 10 et que y n'est pas égal à 20. Si l'une des conditions est remplie, la fonction renvoie "true".
NOTOpérateur NOT logique.
IN Vérifie si une expression correspond à une liste de valeurs. FILTER_2.ORDERS.ORDER_ID IN (1003, 1007)
=Recherche l'égalité. Renvoie true si la valeur expr1 est égale à expr2. Sinon, renvoie false.x = 10 renvoie "true" lorsque la valeur de x est 10, sinon, renvoie "false"
>Recherche une expression supérieure. Renvoie true si la valeur expr1 est supérieure à expr2.x > 10 renvoie "true" lorsque la valeur de x est supérieure à 10, sinon, renvoie "false"
>=Recherche une expression supérieure ou égale. Renvoie true si la valeur expr1 est supérieure ou égale à expr2.x > 10 renvoie "true" lorsque la valeur de x est supérieure ou égale à 10, sinon, renvoie "false"
<Recherche une expression inférieure. Renvoie true si la valeur expr1 est inférieure à expr2.x < 10 renvoie "true" lorsque la valeur de x est inférieure à 10, sinon, renvoie "false"
<=Recherche une expression inférieure ou égale. Renvoie true si la valeur expr1 est inférieure ou égale à expr2.x <= 10 renvoie "true" lorsque la valeur de x est inférieure ou égale à 10, sinon, renvoie "false"
Fonctions de chaîne
FonctionsDescriptionExemple
CAST(value AS type)Renvoie la valeur indiquée dans le type spécifié.CAST("10" AS INT) renvoie 10
CONCAT(string, string)Renvoie les valeurs combinées des chaînes ou des colonnesCONCAT('Oracle','SQL') renvoie OracleSQL
LOWER(string)Renvoie la chaîne avec toutes les lettres passées en minuscules.LOWER('ORACLE') renvoie oracle
LENGTH(string)Renvoie la longueur (en caractères) de la chaîne ou le nombre d'octets des données binaires. La longueur de la chaîne inclut les espaces de fin.LENGTH('Oracle') renvoie 6
LTRIM(string)Renvoie la chaîne avec les espaces de début enlevés à gauche.LTRIM(' Oracle')
REGEXP_EXTRACT(string, regexp[, RegexGroupIdx])Extrait un groupe qui correspond à l'expression régulière.REGEXP_EXTRACT('22;33;44', '([0-9.]*);([0-9.]*);([0-9.]*)', 1) renvoie 22
REGEXP_SUBSTR(string, regexp[, RegexGroupIdx]) Recherche et extrait la chaîne qui correspond à un modèle d'expression régulière dans la chaîne d'entrée. Si l'index de groupe de capture (facultatif) est fourni, la fonction extrait le groupe spécifique.

REGEXP_SUBSTR('https://www.oracle.com/products', 'https://([[:alnum:]]+\.?){3,4}/?') renvoie https://www.oracle.com

REGEXP_SUBSTR('22;33;44', '([0-9.]*);([0-9.]*);([0-9.]*)', 1) renvoie 22
REGEXP_REPLACE(string, regexp, rep]) Remplace toutes les sous-chaînes de chaîne qui correspondent à l'expression régulière par rep
REPLACE(string, search, replacement)Remplace toutes les occurrences de search par replacement.

Si search est introuvable dans la chaîne, la chaîne est renvoyée sans modification.

Si replacement n'est pas spécifié ou est une chaîne vide, rien ne remplace l'élément search, qui est enlevé de string.

REPLACE('input string value', 'input', 'output') renvoie "output string value". Par exemple :

REPLACE('ABCabc', 'abc', 'DEF') renvoie ABCDEF

RTRIM(string)Renvoie la chaîne avec les espaces de fin enlevés à droite.RTRIM('Oracle ')
SUBSTRING(string, start_position[, substring_length])Renvoie la sous-chaîne à partir de string en commençant par la valeur start_position donnée avec la longueur substring_length.

La numérotation de position de décalage commence par 0.

SUBSTRING('Hello Oracle', 6, 6) retours Oracle
TO_CHAR(expr[, format_string])Convertit une date en chaîne, en fonction du format. Convertit un nombre en chaîne ; aucun format n'est requis.

Dans les expressions de pipeline, format_string doit utiliser les codes de format strftime.

TO_CHAR(123) renvoie 123

TO_CHAR(Date'2020-10-30', '%m/%d/%Y') renvoie 10/30/2020.

Le premier argument est un objet Date représentant le 30 octobre 2020.

TRIM(string) Renvoie une chaîne contenant les espaces de début supprimés. TRIM(' ORACLE ') renvoie ORACLE
UPPER(string)Renvoie la chaîne avec toutes les lettres passées en majuscules.UPPER('oracle') renvoie ORACLE
json_path(json_string, json_filter_path) Extrait une valeur d'une structure JSON. CAST(json_path(SYS.RESPONSE_PAYLOAD, '$.key') AS String) renvoie la valeur de chaîne du champ "key" dans RESPONSE_PAYLOAD