Référence de fonctions (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)Retourne la valeur absolue de la valeur numeric.ABS(-1)
CEIL(numeric)Retourne le plus petit entier ne dépassant pas la valeur numericCEIL(-1,2)
EXP(numeric) Retourne e élevé à la puissance de numeric. La constante e est égale à 2.71828182845904, la base du logarithme naturel. EXP(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)
POW(numeric1, numeric2)Élève numeric1 à la puissance numeric2.POW(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 :

  • 0 : Un chiffre
  • # : Un chiffre, zéro s'affiche comme absent
  • . : Paramètre fictif pour le séparateur décimal
  • , : Paramètre fictif pour le séparateur de regroupement
  • 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 doublé, il est remplacé par le symbole monétaire international; s'il est présent dans un modèle, le séparateur décimal monétaire est utilisé au lieu du séparateur décimal

TO_NUMBER('5467.12') retourne 5467.12

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

FORMAT_NUMBER(value, format) Retourne une représentation formatée de la valeur indiquée.

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

Fonctions conditionnelles
FonctionDescriptionExemple
NULLIF(value, value)Retourne une valeur nulle si les deux valeurs sont égales, sinon retourne la première valeur.NULLIF('ABC','XYZ') retourne ABC
ISNULL(value) Vérifie la valeur nulle. ISNULL('ABC') retourne false
ISNOTNULL(value) Vérifie si la valeur n'est pas nulle. ISNOTNULL('ABC') retourne true
Fonctions de date/heure
FonctionDescriptionExemple
CURRENT_DATERetourne la date courante.CURRENT_DATE retourne la date du jour
CURRENT_TIMESTAMPRetourne la date et l'heure courantes avec le fuseau horaire, dans le fuseau horaire de la session.CURRENT_TIMESTAMP retourne la date du jour et l'heure courante
DATE_ADD(date, number)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_SUB(date, number) Retourne la date correspondant au number de jours spécifié avant la date spécifiée. DATE_SUB('2017-07-30', 1) retourne 2017-07-29
DATE_FORMAT(expr, format[, locale])Formate une expression expr de date, 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.

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

DATE_FORMAT(2020-10-13, '%d-%m-%Y') retourne '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') retourne '17/junio/18'

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

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

WEEKOFYEAR('2022-07-28 13:24: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, format_string doit utiliser les codes de format strftime.

Exemples de code de format :

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

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

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

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

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, format_string doit utiliser les codes de format strftime.

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

Retourne le nombre de mois entre start_date_expr et end_date_expr. start_date_expr et end_date_expr peuvent être une date, un horodatage ou une chaîne dans un format de type yyyy-MM-dd ou yyyy-MM-dd HH:mm:ss.SSS

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.

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

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

MONTHS_BETWEEN('2022-07-28 13:24:30', '2020-07-25 13:24:30') retourne 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 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_MAP('Ename',Expression_1.attribute1) retourne une colonne de Map : {"ENAME" -> 100}

TO_MAP('block', EXPRESSION_1.MYSOURCE.address.block, 'unit', EXPRESSION_1.MYSOURCE.address.unit) retourne 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) retourne {100}

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

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.

TO_Array(Expression_1.attribute1) retourne [100]

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

Fonctions d'opérateur (comparaison)
FonctionDescriptionExemple
ANDOpé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é
OROpé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é
NOTOpérateur logique NOT.
IN Vérifie si une expression correspond à une liste de valeurs. FILTER_2.ORDERS.ORDER_ID IN (1003, 1007)
=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 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é
Fonctions de chaîne
FonctionsDescriptionExemple
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 colonnesCONCAT('Oracle','SQL') retourne OracleSQL
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')
REGEXP_EXTRACT(string, regexp[, RegexGroupIdx])Extrait un groupe qui correspond à l'expression rationnelle.REGEXP_EXTRACT('22;33;44', '([0-9.]*);([0-9.]*);([0-9.]*)', 1) retourne 22
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('https://www.oracle.com/products', 'https://([[:alnum:]]+\.?){3,4}/?') retourne https://www.oracle.com

REGEXP_SUBSTR('22;33;44', '([0-9.]*);([0-9.]*);([0-9.]*)', 1) retourne 22
REGEXP_REPLACE(string, regexp, rep]) Remplace toutes les sous-chaînes de chaîne correspondant à l'expression rationnelle par rep
REPLACE(string, search, replacement)Remplace toutes les occurrences de la chaîne recherchée search par la chaîne de remplacement replacement.

Si search est introuvable dans la chaîne, celle-ci est retournée inchangée.

Si la chaîne de remplacement replacement n'est pas indiquée ou est une chaîne vide, rien ne remplace la chaîne recherchée search qui est alors supprimée de la chaîne string.

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

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, start_position[, substring_length])Retourne la sous-chaîne à partir de string en commençant à la valeur start_position indiqué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, selon le format indiqué. 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) retourne 123

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

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

TRIM(string) Retourne la chaîne avec les caractères d'espace de début supprimés. TRIM(' ORACLE ') retourne ORACLE
UPPER(string)Retourne une chaîne avec toutes les lettres en majuscules.UPPER('oracle') retourne ORACLE
json_path(json_string, json_filter_path) Extrait une valeur d'une structure JSON. CAST(json_path(SYS.RESPONSE_PAYLOAD, '$.key') AS String) retourne la valeur de chaîne du champ "clé" dans RESPONSE_PAYLOAD