Funktionsreferenz (Pipeline)

Die folgenden Funktionen werden mit den Ausdrucks- und Entscheidungsoperatoren in einer Pipeline verwendet.

Arithmetische Funktionen
FunktionBeschreibungBeispiel
ABS(numeric)Gibt die absolute Potenz des Wertes numeric zurück.ABS(-1)
CEIL(numeric)Gibt die kleinste Ganzzahl zurück, die nicht größer als der Wert numeric ist.CEIL(-1,2)
EXP(numeric) Gibt e in der Power von numeric zurück. Die Konstante e entspricht 2.71828182845904, der Basis des natürlichen Logarithmus. EXP(2)
FLOOR(numeric)Gibt die größte Ganzzahl zurück, die nicht größer als der Wert numeric ist.FLOOR(-1,2)
MOD(numeric1, numeric2)Gibt den Rest zurück, nachdem numeric1 durch numeric2 geteilt wurde.MOD(8,2)
POW(numeric1, numeric2)Entspricht numeric1 hoch numeric2.POW(2,3)
ROUND(numeric1, numeric2)Gibt numeric1 gerundet auf numeric2 Dezimalstellen zurück.ROUND(2.5,0)
TRUNC(numeric1, numeric2)Gibt numeric1 gekürzt auf numeric2 Dezimalstellen zurück.TRUNC(2.5,0)
TO_NUMBER(expr[, format, locale])Konvertiert expr basierend auf den Angaben für format und locale (optional) in eine Zahl. Das Standardgebietsschema ist en-US. Unterstützte Sprachtags.

Unterstützte Formatmuster:

  • 0: Eine Ziffer
  • #: Eine Ziffer, Null wird als nicht vorhanden angezeigt
  • .: Platzhalter für Dezimaltrennzeichen
  • ,: Platzhalter für Gruppierungstrennzeichen
  • E: Trennt Mantisse und Exponent bei exponentiellen Formaten
  • -: Standardpräfix für Negativ
  • ¤: Währungszeichen, wird durch das Währungssymbol ersetzt. Wenn es doppelt vorhanden ist, wird es durch das internationale Währungssymbol ersetzt. Bei Verwendung in einem Muster wird das monetäre Dezimaltrennzeichen statt des Dezimaltrennzeichens verwendet.

TO_NUMBER('5467.12') gibt 5467.12 zurück

TO_NUMBER('-USD45,677.7', '¤¤##,###.#', 'en-US') gibt -45677.7 zurück

FORMAT_NUMBER(value, format) Gibt eine formatierte Darstellung des angegebenen Wertes zurück.

FORMAT_NUMBER(123.4567, '^-09.3f') gibt 0123.4570 zurück

Bedingungen
FunktionBeschreibungBeispiel
NULLIF(value, value)Gibt Null zurück, wenn die beiden Werte gleich sind. Andernfalls wird der erste Wert zurückgegeben.NULLIF('ABC','XYZ') gibt ABC zurück
ISNULL(value) Prüft auf Nullwert. ISNULL('ABC') gibt false zurück
ISNOTNULL(value) Prüft, ob ein Wert nicht Null ist. ISNOTNULL('ABC') gibt true zurück
Datums- und Zeitfunktionen
FunktionBeschreibungBeispiel
CURRENT_DATEGibt das aktuelle Datum zurück.CURRENT_DATE gibt das heutige Datum zurück
CURRENT_TIMESTAMPGibt das aktuelle Datum und die aktuelle Zeit in der Zeitzone der Session zurück.CURRENT_TIMESTAMP gibt das heutige Datum und die aktuelle Zeit zurück
DATE_ADD(date, number)Gibt das Datum zurück, das number von Tagen nach dem angegebenen Datum date liegt.DATE_ADD('2017-07-30', 1) gibt 2017-07-31 zurück
DATE_SUB(date, number) Gibt das Datum zurück, das number von Tagen vor dem angegebenen Datum date liegt. DATE_SUB('2017-07-30', 1) gibt 2017-07-29 zurück
DATE_FORMAT(expr, format[, locale])Formatiert expr vom Typ "Datum" basierend auf den Angaben für format und locale (optional). Das Standardgebietsschema ist en-US. Unterstützte Sprachtags.

In Pipelineausdrücken muss format die strftime-Formatcodes verwenden.

DATE_FORMAT(2020-10-13, '%d-%m-%Y') gibt '13-10-2020' zurück.

Das erste Argument ist ein Date-Objekt, das den 13. Oktober 2020 darstellt.

DATE_FORMAT(2018-junio-17, '%d/%B/%y', 'es-ES') gibt '17/junio/18' zurück

WEEKOFYEAR(date) Gibt die Woche des Jahres für das Datum zurück.

WEEKOFYEAR('2022-07-28') gibt 30 zurück

WEEKOFYEAR('2022-07-28 13:24:30') gibt 30 zurück

TO_DATE(string, format_string[, localeStr])Parst den Zeichenfolgenausdruck mit dem Ausdruck format_string in ein Datum. Das Gebietsschema ist optional. Der Standardwert ist en-US. Unterstützte Sprachtags.

In Pipelineausdrücken muss format_string die strftime-Formatcodes verwenden.

Beispiele für Formatcodes:

'%a %d-%m-%Y' gibt Tue 10-12-2019 zurück

'%a %d/%m/%Y' gibt Tue 10/12/2019 zurück

'%a %d/%m/%y' gibt Tue 10/12/19 zurück

TO_DATE('12 June 2018', '%m/%d/%Y') gibt 06/12/2018 zurück

TO_TIMESTAMP(expr, format_string[, localeStr])Konvertiert expr vom Typ "VARCHAR" basierend auf den Angaben für format_string und localeStr (optional) in einen TIMESTAMP-Wert.

In Pipelineausdrücken muss format_string die strftime-Formatcodes verwenden.

TO_TIMESTAMP('2020-10-10 11:10:10', '%A %d-%m-%Y, %H:%M:%S') gibt ein TIMESTAMP-Objekt zurück, das Saturday 10-10-2020, 11:10:10 darstellt
MONTHS_BETWEEN(start_date_expr, end_date_expr)

Gibt die Anzahl der Monate zwischen start_date_expr und end_date_expr zurück. start_date_expr und end_date_expr können Datumsangaben, Zeitstempel oder Zeichenfolgen mit einem Format wie yyyy-MM-dd oder yyyy-MM-dd HH:mm:ss.SSS sein.

Eine Ganzzahl wird zurückgegeben, wenn beide Datumsangaben denselben Tag im Monat oder den letzten Tag im jeweiligen Monat angeben. Andernfalls wird die Differenz auf Basis von 31 Tagen pro Monat berechnet.

MONTHS_BETWEEN('2022-01-01', '2022-01-31') gibt 1 zurück

MONTHS_BETWEEN('2022-07-28', '2020-07-25') gibt 24 zurück

MONTHS_BETWEEN('2022-07-28 13:24:30', '2020-07-25 13:24:30') gibt 24 zurück

Hierarchische Funktionen
FunktionBeschreibungBeispiel
TO_MAP(string,column[,string,column]*)Erstellt eine neue Spalte vom Typ "Map". Die Eingabespalten müssen als Schlüssel/Wert-Paare gruppiert werden. Die Eingabeschlüsselspalten dürfen nicht Null sein und müssen alle denselben Datentyp aufweisen. Die Eingabewertspalten müssen alle denselben Datentyp aufweisen.

TO_MAP('Ename',Expression_1.attribute1) gibt eine Spalte vom Typ "Map" zurück: {"ENAME" -> 100}

TO_MAP('block', EXPRESSION_1.MYSOURCE.address.block, 'unit', EXPRESSION_1.MYSOURCE.address.unit) gibt eine Spalte vom Typ "Map" zurück: {"block" -> 1,"unit" -> 1}

TO_STRUCT(string,column[,string,column]*)Erstellt eine neue Spalte vom Typ "Struct". Die Eingabespalten müssen als Schlüssel/Wert-Paare gruppiert werden.

TO_STRUCT('Ename',Expression_1.attribute1) gibt {100} zurück

TO_STRUCT('Id',Expression_1.attribute1, 'Name', Expression_1.attribute2) gibt {100, "John"} zurück

TO_ARRAY(column[,column]*)Erstellt eine neue Spalte vom Typ "Array". Die Eingabespalten müssen alle denselben Datentyp aufweisen.

TO_Array(Expression_1.attribute1) gibt [100] zurück

TO_ARRAY(EXPRESSION_1.attribute2,EXPRESSION_1.attribute3) gibt ["John","Friend"] zurück

(Vergleichs-)Operatorfunktionen
FunktionBeschreibungBeispiel
ANDDer logische AND-Operator. Gibt "true" zurück, wenn beide Operanden wahr sind. Andernfalls wird "false" zurückgegeben.(x = 10 AND y = 20) gibt "true" zurück, wenn x gleich 10 und y gleich 20 ist. Wenn einer der Operanden nicht wahr ist, wird "false" zurückgegeben
ORDer logische OR-Operator. Gibt "true" zurück, wenn einer der Operanden wahr ist oder beide wahr sind. Andernfalls wird "false" zurückgegeben.(x = 10 OR y = 20) gibt "false" zurück, wenn x nicht gleich 10 und y nicht gleich 20 ist. Wenn einer der Operanden wahr ist, wird "true" zurückgegeben
NOTDer logische NOT-Operator.
IN Testet, ob ein Ausdruck mit einer Werteliste übereinstimmt. FILTER_2.ORDERS.ORDER_ID IN (1003, 1007)
=Führt einen Gleichheitstest aus. Gibt "true" zurück, wenn expr1 gleich expr2 ist. Andernfalls wird "false" zurückgegeben.x = 10 gibt "true" zurück, wenn der Wert von x gleich 10 ist. Andernfalls wird "false" zurückgegeben
>Testet, ob ein Ausdruck "größer als" ist. Gibt "true" zurück, wenn expr1 größer als expr2 ist.x > 10 gibt "true" zurück, wenn der Wert von x größer als 10 ist. Andernfalls wird "false" zurückgegeben
>=Testet, ob ein Ausdruck "größer/gleich" ist. Gibt "true" zurück, wenn expr1 größer als oder gleich expr2 ist.x >= 10 gibt "true" zurück, wenn der Wert von x größer als oder gleich 10 ist. Andernfalls wird "false" zurückgegeben
<Testet, ob ein Ausdruck "kleiner als" ist. Gibt "true" zurück, wenn expr1 kleiner als expr2 ist.x < 10 gibt "true" zurück, wenn der Wert von x kleiner als 10 ist. Andernfalls wird "false" zurückgegeben
<=Testet, ob ein Ausdruck "kleiner/gleich" ist. Gibt "true" zurück, wenn expr1 kleiner oder gleich expr2 ist.x <= 10 gibt "true" zurück, wenn der Wert von x kleiner als 10 ist. Andernfalls wird "false" zurückgegeben
Zeichenfolgenfunktionen
FunktionenBeschreibungBeispiel
CAST(value AS type)Gibt den angegebenen Wert im angegebenen Typ zurück.CAST("10" AS INT) gibt 10 zurück
CONCAT(string, string)Gibt die kombinierten Werte von Zeichenfolgen oder Spalten zurückCONCAT('Oracle','SQL') gibt OracleSQL zurück
LOWER(string)Gibt die Zeichenfolge zurück, wobei alle Buchstaben in Kleinbuchstaben umgewandelt werden.LOWER('ORACLE') gibt oracle zurück
LENGTH(string)Gibt die Länge der Zeichenfolge in Zeichen oder die Anzahl der Byte von Binärdaten zurück. Nachgestellte Leerzeichen werden mitgezählt.LENGTH('Oracle') gibt 6 zurück
LTRIM(string)Gibt die Zeichenfolge zurück, wobei vorangestellte Leerzeichen von links entfernt werden.LTRIM(' Oracle')
REGEXP_EXTRACT(string, regexp[, RegexGroupIdx])Extrahiert eine Gruppe, die mit dem regulären Ausdruck übereinstimmt.REGEXP_EXTRACT('22;33;44', '([0-9.]*);([0-9.]*);([0-9.]*)', 1) gibt 22 zurück
REGEXP_SUBSTR(string, regexp[, RegexGroupIdx]) Sucht und extrahiert die Zeichenfolge, die einem regulären Ausdrucksmuster aus der Eingabezeichenfolge entspricht. Wenn der optionale Erfassungsgruppenindex angegeben ist, extrahiert die Funktion die spezifische Gruppe.

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

REGEXP_SUBSTR('22;33;44', '([0-9.]*);([0-9.]*);([0-9.]*)', 1) gibt 22 zurück
REGEXP_REPLACE(string, regexp, rep]) Ersetzt alle Teilzeichenfolgen von Zeichenfolgen, die mit dem regulären Ausdruck übereinstimmen, durch rep
REPLACE(string, search, replacement)Ersetzt alle Vorkommen von search durch replacement.

Wird search nicht in der Zeichenfolge gefunden, wird die Zeichenfolge unverändert zurückgegeben.

Wenn replacement nicht angegeben oder eine leere Zeichenfolge ist, wird search durch nichts ersetzt und aus string entfernt.

REPLACE('input string value', 'input', 'output') gibt "output string value" zurück. Beispiel:

REPLACE('ABCabc', 'abc', 'DEF') gibt ABCDEF zurück

RTRIM(string)Gibt die Zeichenfolge zurück, wobei vorangestellte Leerzeichen von rechts entfernt werden.RTRIM('Oracle ')
SUBSTRING(string, start_position[, substring_length])Gibt die Teilzeichenfolge von string ab dem angegebenen start_position mit der Länge substring_length zurück.

Die Offsetpositionsnummerierung beginnt mit 0.

SUBSTRING('Hello Oracle', 6, 6) gibt Oracle zurück
TO_CHAR(expr[, format_string])Konvertiert ein Datum basierend auf dem Format in eine Zeichenfolge. Konvertiert eine Zahl in eine Zeichenfolge, kein Format erforderlich.

In Pipelineausdrücken muss format_string die strftime-Formatcodes verwenden.

TO_CHAR(123) gibt 123 zurück

TO_CHAR(Date'2020-10-30', '%m/%d/%Y') gibt 10/30/2020 zurück.

Das erste Argument ist ein Datumsobjekt, das den 30. Oktober 2020 darstellt.

TRIM(string) Gibt eine Zeichenfolge zurück, deren führende Leerzeichen entfernt wurden. TRIM(' ORACLE ') gibt ORACLE zurück
UPPER(string)Gibt eine Zeichenfolge zurück, wobei alle Buchstaben in Großbuchstaben geändert werden.UPPER('oracle') gibt ORACLE zurück
json_path(json_string, json_filter_path) Extrahiert einen Wert aus einer JSON-Struktur. CAST(json_path(SYS.RESPONSE_PAYLOAD, '$.key') AS String) gibt den Zeichenfolgenwert des Feldes "key" in RESPONSE_PAYLOAD zurück