Die Common Expression Language (CEL) ist eine von Google entwickelte einfache Ausdruckssprache. CEL wird verwendet, um schnelle, portable und sichere Formeln zu erstellen. Dieser Leitfaden zeigt dir alle Funktionen, die du beim Schreiben von Formeln verwenden kannst und mit denen du leistungsstarke Ausdrücke erstellen kannst.
Gut zu wissen
Weitere Informationen findest du in den offiziellen Ressourcen:
Grundlegende Operationen (Operators)
In der folgenden Tabelle sind die grundlegenden Symbole aufgeführt, die du in deinen Formeln verwenden kannst.
Symbol |
Beschreibung |
Beispiel |
|---|---|---|
/ |
Teilt Zahlen |
10 / 2 gleich 5
|
== |
Überprüft, ob zwei Werte gleich sind | Alter == 18 |
<= |
Überprüft, ob ein Wert weniger als oder gleich ist | Alter <= 65 |
- |
Subtrahiert Zahlen |
100 - 20 gleich 80
|
< |
Überprüft, ob ein Wert kleiner als ist | Alter < 18 |
% |
Ermittelt den Rest nach der Division |
10 % 3 gleich 1
|
[Index] |
Ermittelt Element aus Liste oder Karte |
Liste[0] wird der erste Artikel zugewiesen |
>= |
Überprüft, ob ein Wert größer als oder gleich ist | Alter >= 18 |
? : |
If-then-else (Wenn-dann-sonst) | Alter >= 18? „Erwachsener“ : „Minderjährig“ |
!= |
Überprüft, ob ungleich | Status != "ausstehend" |
- (unär) |
Die Zahl wird negativ | -5 |
+ |
Fügt Zahlen hinzu oder verbindet Text | 5 + 3 oder „Hallo“ + „Welt“ |
! |
Das Gegenteil von wahr/falsch |
!wahr gleich falsch
|
* |
Multipliziert Zahlen |
5 * 3 gleich 15
|
> |
Überprüft, ob der Wert größer ist als | Alter > 18 |
\|\| |
OR (oder) – wahr, wenn eine der beiden Seiten wahr ist | Alter < 13 \|\| Alter > 65 |
&& |
AND (und) – nur wahr, wenn beide Seiten wahr sind | Alter >= 18 & optIn == wahr |
➡️ Weitere Informationen findest du unter CEL-Operators.
Verfügbare Funktionen
Konvertieren zwischen Typen
Mit den folgenden Funktionen kannst du Daten von einem Typ in einen anderen umwandeln.
➡️ Weitere Informationen findest du unter CEL Typ Konvertierungen.
bool() Konvertieren in wahr/falsch
Ändert Text oder andere Werte in wahr/falsch.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
bool(Wert) |
Wahr/Falsch-Wert | Wahr oder falsch | Wenn bereits wahr/falsch vorhanden ist |
bool(Text) |
Text wie „wahr“ oder „falsch“ | Wahr oder falsch | Bei der Umwandlung von Text in wahr/falsch |
Beispiele:
bool(wahr) // erzeugt: wahr
bool("wahr") // erzeugt: wahr (wandelt Text in wahr/falsch um)
bool("falsch") // erzeugt: falsch
bytes() Konvertieren in binäre Daten
Konvertiert Daten in Bytes (Rohdatenformat). Die meisten Benutzer:innen werden dies nicht benötigen.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
bytes(Wert) |
Binärdaten | Binärdaten | Wenn du bereits Bytes hast |
bytes(Text) |
Text | Binärdaten | Beim Umwandeln von Text in Binärform |
Beispiele:
bytes(b'Hallo') // erzeugt: b'Hallo'
bytes("Hallo") // erzeugt: b'Hallo' (konvertiert Text in Binärformat)
double() Konvertieren in eine Dezimalzahl
Ändert Werte in Dezimalzahlen (Zahlen mit einem Komma, wie 3,14).
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
double(Zahl) |
Dezimalzahl | Dezimalzahl | Wenn du bereits eine Dezimalzahl hast |
double(ganze Zahl) |
Ganze Zahl | Dezimalzahl | Konvertierung von 42 zu 42,0 |
double(Text) |
Text wie „3,14“ | Dezimalzahl | Konvertierung von Text in Dezimalzahlen |
Beispiele:
double(3,14) // erzeugt: 3,14 double(42) // erzeugt: 42,0 (fügt das Dezimalkomma hinzu) double(„3,14“) // erzeugt: 3,14 (wandelt Text in eine Zahl um) double(100) // erzeugt: 100,0
int() Konvertiert in eine ganze Zahl
Ändert Werte in ganze Zahlen (ohne Dezimalkomma).
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
int(number) |
Ganze Zahl | Ganze Zahl | Wenn du schon eine ganze Zahl hast |
int(decimal) |
Dezimalzahl | Ganze Zahl | Entfernt die Dezimalstelle (3,8 wird zu 3) |
int(duration) |
Zeiteinheit | Anzahl der Sekunden | Wandelt „1h“ (1 Stunde) in 3.600 Sekunden um |
int(text) |
Text wie „123“ | Ganze Zahl | Wandelt Text in Zahl um |
int(timestamp) |
Datum/Uhrzeit | Zahl | Konvertiert in Unix-Zeitstempel |
Beispiele:
int(42) // erzeugt: 42 int(3,14) // erzeugt: 3 (entfernt ,14)int(duration(„1h“)) // erzeugt: 3.600 (Sekunden in 1 Stunde)
int(„123“) // erzeugt: 123 (konvertiert Text)
int(timestamp("2024-01-01T00:00:00Z")) // erzeugt: 1704067200
string() Konvertiert in Text
Ändert einen beliebigen Wert in Text.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
string(text) |
Text | Text | Wenn du bereits Text hast |
string(true_or_false) |
Wahr oder falsch | „wahr“ oder „falsch“ | Wandelt Wahr/Falsch in Text um |
string(binary) |
Binärdaten | Text | Wandelt binären Text in lesbaren Text um |
string(decimal) |
Dezimalzahl | Text | Konvertiert 3,14 in „3,14“ |
string(duration) |
Zeiteinheit | Text | Konvertiert Zeitspanne in Text wie „3.600s“ |
string(number) |
Ganze Zahl | Text | Konvertiert 123 zu „123“ |
string(timestamp) |
Datum/Uhrzeit | Text | Konvertiert in einen lesbaren Datumsstring |
Beispiele:
string(„Hallo“) // erzeugt: „Hallo“ string(wahr) // erzeugt: „wahr“ string(3,14) erzeugt: "3,14"
string(123) // erzeugt: „123“
string(timestamp("2024-01-01T00:00:00Z")) // erzeugt: „2024-01-01T00:00:00Z“
type() Stellt fest, welcher Typ etwas ist
Sagt dir, welche Art von Daten du hast (Text, Zahl, wahr/falsch usw.).
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
type(anything) |
Jeder Wert | Der Typname | Um zu überprüfen, welche Art von Daten du hast |
Beispiele:
type(42) // erzeugt: int (ganzzahliger Typ)
type(„Hallo“) // erzeugt: string (Texttyp)
type(3,14) // erzeugt: double (Dezimalzahl-Typ)
type(wahr) // erzeugt : bool (wahr/falsch-Type)Arbeiten mit Datum und Uhrzeit
Mit den folgenden Funktionen kannst du mit dem Datum, der Uhrzeit und dem Zeitstempel arbeiten.
➡️ Weitere Informationen findest du unter CEL-Zeitstempel.
timestamp() Erstellen oder Konvertieren eines Datums/einer Uhrzeit
Erzeugt einen Datums- und Zeitwert aus verschiedenen Quellen.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
timestamp(existing) |
Vorhandener Zeitstempel | Derselbe Zeitstempel | Wenn du bereits einen Zeitstempel hast |
timestamp(number) |
Zahl (Unix-Sekunden) | Datum/Uhrzeit | Konvertieren von 1704067200 in ein Datum |
timestamp(text) |
Text wie „2024-01-01T00:00:00Z“ | Datum/Uhrzeit | Konvertieren von Text in Datum/Uhrzeit |
Beispiele:
timestamp("2024-01-01T00:00:00Z") // erzeugt: 1. Januar 2024 um Mitternacht
timestamp(1704067200) // erzeugt: 2024-01-01T00:00:00Z
getFullYear() Erittelt das Jahr
Ermittelt das Jahr aus einem Datum (wie 2024).
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
date.getFullYear() |
Nichts (Verwendung bei einem Datum) | Jahreszahl | Anzeigen eines Jahres in UTC-Zeit |
date.getFullYear(timezone) |
Name der Zeitzone | Jahreszahl | Abrufen des Jahres in einer bestimmten Zeitzone |
Beispiele:
timestamp("2024-01-15T10:30:00Z").getFullYear() // erzeugt: 2024
timestamp("2024-01-01T02:00:00Z").getFullYear("Amerika/New_York") erzeugt: 2023 (Abend des 31. Dez.)
createdAt.getFullYear() // erhält Jahr aus createdAt
getMonth() Ermittelt den Monat
Ermittelt den Monat aus einem Datum.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
date.getMonth() |
Nichts (Verwendung bei einem Datum) | Monat (0 bis 11) | Ermitteln des Monats in UTC-Zeit |
date.getMonth(timezone) |
Name der Zeitzone | Monat (0 bis 11) | Ermitteln des Monats in einer bestimmten Zeitzone |
Beispiele:
timestamp("2024-03-15T10:30:00Z").getMonth() // erzeugt: 2 (März ist der 3. Monat)
timestamp("2024-03-01T02:00:00Z").getMonth(„Amerika/New_York“) // erzeugt: 1 (Februar)
createdAt.getMonth() // erzeugt Monat von createdAt
// Beachte: Januar=0, Februar=1, März=2, April=3, Mai=4, Juni=5,
// Juli=6, August=7, September=8, Oktober=9, November=10, Dezember=11
getDate() Ermittelt den Tag des Monats
Ermittelt den Tag des Monats (1 bis 31).
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
date.getDate() |
Nichts (Verwendung bei einem Datum) | Tag (1 bis 31) | Ermitteln des Tags in UTC-Zeit |
date.getDate(timezone) |
Name der Zeitzone | Tag (1 bis 31) | Ermitteln des Tags in einer bestimmten Zeitzone |
Beispiele:
timestamp(„2024-03-15T10:30:00Z“).getDate() // erzeugt: 15 (der 15. Tag)
timestamp("2024-03-01T02:00:00Z").getDate(„America/New_York“) // erzeugt: 28 (28. Feb.)
createdAt.getDate() // erzeugt Tag aus createdAt
getDayOfWeek() Ermittelt den Wochentag
Ermittelt den Tag der Woche.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
date.getDayOfWeek() |
Nichts (Verwendung bei einem Datum) | Tag (0 bis 6) | Ermitteln des Wochentags in der UTC-Zeit |
date.getDayOfWeek(timezone) |
Name der Zeitzone | Tag (0 bis 6) | Ermitteln des Wochentags in einer bestimmten Zeitzone |
Beispiele:
timestamp("2024-03-15T10:30:00Z").getDayOfWeek() // erzeugt: 5 (Freitag)
timestamp("2024-03-17T02:00:00Z").getDayOfWeek(„America/New_York“) // erzeugt: 6 (Samstag)
// Beachte: Sonntag=0, Montag=1, Dienstag=2, Mittwoch=3,
// Donnerstag=4, Freitag=5, Samstag=6
getHours() Ermittelt die Stunde
Ermittelt die Stunde aus einer Uhrzeit (0 bis 23, wobei 0 für Mitternacht und 23 für 23 Uhr steht).
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
time.getHours() |
Nichts (Verwendung für ein Datum/eine Uhrzeit) | Stunde (0 bis 23) | Ermitteln einer Stunde in UTC-Zeit |
time.getHours(timezone) |
Name der Zeitzone | Stunde (0 bis 23) | Ermitteln einer Stunde in einer bestimmten Zeitzone |
period.getHours() |
Nichts (Verwendung für eine Dauer) | Gesamtstunden | Ermitteln von Stunden in einer Zeitspanne |
Beispiele:
timestamp(„2024-03-15T14:30:00Z“).getHours() // erzeugt: 14 (14:30)
timestamp(„2024-03-15T14:30:00Z“).getHours(„Amerika/New_York“) // erzeugt: 10 (10:30 EST)
duration(„2h30m“).getHours() // erzeugt: 2 Stunden
getMinutes() Ermitteln der Minuten
Ermittelt die Minuten aus einer Zeit (0 bis 59).
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
time.getMinutes() |
Nichts (Verwendung für ein Datum/eine Uhrzeit) | Minuten (0 bis 59) | Ermitteln der Minuten aus der Uhrzeit |
time.getMinutes(timezone) |
Name der Zeitzone | Minuten (0 bis 59) | Ermitteln der Minuten in einer bestimmten Zeitzone |
period.getMinutes() |
Nichts (Verwendung für eine Dauer) | Gesamtminuten | Ermitteln der Gesamtminuten in einer bestimmten Periode |
Beispiele:
timestamp(„2024-03-15T14:45:00Z“).getMinutes() // erzeugt: 45 Minuten
timestamp(„2024-03-15T14:45:00Z“).getMinutes(„Amerika/New_York“) // erzeugt: 45 Minuten
duration(„2h30m“).getMinutes() erzeugt: 150 (Gesamtminuten)
getSeconds() Ermitteln der Sekunden
Ermittelt die Sekunden aus einer Zeit (0 bis 59).
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
time.getSeconds() |
Nichts (Verwendung für ein Datum/eine Uhrzeit) | Sekunden (0 bis 59) | Ermitteln der Sekunden einer Zeit |
time.getSeconds(timezone) |
Name der Zeitzone | Sekunden (0 bis 59) | Ermitteln der Sekunden in einer bestimmten Zeitzone |
period.getSeconds() |
Nichts (Verwendung für eine Dauer) | Gesamtsekunden | Ermitteln der Gesamtsekunden in einer Periode |
Beispiele:
timestamp(„2024-03-15T14:45:30Z“).getSeconds() // erzeugt: 30 Sekunden
timestamp(„2024-03-15T14:45:30Z“).getSeconds(„Amerika/New_York“) // erzeugt: 30 Sekunden
duration(„2h30m45s“).getSeconds() // erzeugt: 9.045 (Sekunden gesamt)Arbeiten mit Zeiträumen
Mit den folgenden Funktionen kannst du Zeiträume (Längen) erstellen und mit ihnen arbeiten.
➡️ Weitere Informationen findest du unter CEL-Dauer.
duration() Erstellen eines Zeitraums
Erstellt eine Dauer, die eine Zeitspanne repräsentiert (nicht ein bestimmtes Datum).
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
duration(existing) |
Bestehende Dauer | Gleiche Dauer | Wenn du bereits eine Dauer hast |
duration(seconds) |
Anzahl der Sekunden | Zeiteinheit | Erzeugen einer Dauer in Sekunden |
duration(text) |
Text wie „1h30m“ oder „90s“ | Zeiteinheit | Erzeugen einer Dauer aus Text |
Beispiele:
duration(3600) // erzeugt: 1 Stunde (3.600 Sekunden)
duration(„1h30m“) // erzeugt: 1 Stunde und 30 Minuten
duration(„90s“) // erzeugt: 90 Sekunden
duration(„2h“) // erzeugt: 2 StundenFormat des Zeitraums: Du kannst h für Stunden, m für Minuten und s für Sekunden verwenden. Kombiniere sie wie z.B. „1h30m15s“.
Textfunktionen
Mit den folgenden Funktionen kannst du mit Text (Zeichenketten) arbeiten.
➡️ Weitere Informationen findest du unter CEL String Funktionen.
contains() Überprüft, ob der Text etwas enthält
Überprüft, ob ein Textstück innerhalb eines anderen Textstücks steht.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
text.contains(search) |
Zu suchender Text | Wahr oder falsch | Überprüfen, ob der Text etwas enthält |
Beispiele:
„hello world“.contains(„world“) // erzeugt: wahr (gefunden!)
„hello world“.enthält(„xyz“) // erzeugt: falsch (nicht gefunden)
Status.contains(„aktiv“) // überprüft, ob der Status Folgendes enthält „active“
contact.email.contains(„@“) // überprüft, ob die E-Mail ein @-Symbol enthält
startsWith() Überprüft, ob der Text mit etwas anfängt
Überprüft, ob der Text mit bestimmten Zeichen beginnt.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
text.startsWith(prefix) |
Zu überprüfender Text beim Start | Wahr oder falsch | Überprüfen, wie der Text beginnt |
Beispiele:
„hello world“.startsWith(„hello“) // erzeugt: wahr
„hello world“.startsWith(„world“) // erzeugt: falsch (beginnt mit „Hallo“, nicht mit „Welt“)
contact.email.startsWith(„admin“) // überprüft, ob die E-Mail mit „admin“ beginnt
status.startsWith(„ausstehend“) // überprüft, ob der Status mit „ausstehend“ beginnt
endsWith() Überprüft, ob der Text mit etwas endet
Überprüft, ob der Text mit bestimmten Zeichen endet.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
text.endsWith(suffix) |
Zu überprüfender Text am Ende | Wahr oder falsch | Überprüfen, wie der Text endet |
Beispiele:
„Hallo Welt“.endsWith(„Welt“) // erzeugt: wahr
„Hallo Welt“.endsWith(„Hallo“) // erzeugt: falsch (endet mit „Welt“ und nicht mit „Hallo“)
contact.email.endsWith(„@example.com“) // überprüft, ob die E-Mail-Domain @example.com ist
status.endsWith(„_approved“) // überprüft, ob der Status mit „_genehmigt“ endet
matches() Überprüfen, ob der Text einem Muster entspricht
Überprüft, ob der Text einem Muster entspricht (verwendet reguläre Ausdrücke – erweiterte Funktion).
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
matches(text, pattern) |
Text und Muster | Wahr oder falsch | Überprüfen des Texts mit einem Muster |
text.matches(pattern) |
Zu überprüfende Muster | Wahr oder falsch | Überprüfen des Texts auf Übereinstimmung mit Muster |
Beispiele:
// Überprüft, ob der Text wie eine E-Mail aussieht
"test@example.com".matches("^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$") // erzeugt: wahr
"keine E-Mail".matches("^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9.-]+$") // erzeugt: falsch
// Validiert das E-Mail-Format
contact.email.matches("^[a-z]+@[a-z]+\\.[a-z]+$") // überprüft das E-Mail-Format
trim() Entfernen von Zeichen von beiden Enden
Entfernt bestimmte Zeichen am Anfang und am Ende des Textes (z. B. Leerzeichen).
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
trim(text, characters) |
Text und was zu entfernen ist | Bereinigter Text | Entfernen von Zeichen an beiden Enden |
Beispiele:
trim(" Hallo ", " ") // erzeugt: „Hallo“ (entfernt Leerzeichen)
trim("###test###", "#") // erzeugt: „Test“ (entfernt das #-Symbol)
trim("___name___", "_") // erzeugt: „Name“ (entfernt Unterstriche)
trim("000123000", "0") // erzeugt: „123“ (entfernt die Nullen)
ltrim() Entfernen von Zeichen auf der linken Seite (Start)
Entfernt bestimmte Zeichen nur am Anfang des Textes.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
ltrim(text, characters) |
Text und was zu entfernen ist | Bereinigter Text | Entfernen von Zeichen nur vom Start |
Beispiele:
ltrim(„ Hallo “, " “) // erzeugt: „Hallo “ (Leerzeichen von links entfernt)
ltrim(„###test###“, „#“) // erzeugt: „Test###“ (# von links entfernt)
ltrim(„000123“, „0“) // erzeugt: „123“ (Nullen von links entfernt)
rtrim() Entfernen von Zeichen auf der rechten Seite (Ende)
Entfernt nur bestimmte Zeichen am Ende des Textes.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
rtrim(text, characters) |
Text und was zu entfernen ist | Bereinigter Text | Entfernen von Zeichen nur am Ende |
Beispiele:
rtrim(„ Hallo “, „ “) // erzeugt: „ Hallo“ (Leerzeichen von rechts entfernt)
rtrim(„###test###“, „#“) // erzeugt: „###Test“ (# von rechts entfernt)
rtrim(„123000“, „0“) // erzeugt: „123“ (Nullen von rechts entfernt)Mathematische Funktionen
Die folgenden Funktionen sind für mathematische Berechnungen gedacht.
➡️ Weitere Informationen findest du unter CEL Numerische Funktionen.
abs() Ermittelt den absoluten Wert
Entfernt das negative Vorzeichen aus einer Zahl (macht sie positiv).
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
abs(number) |
Beliebige ganze Zahl | Positive Zahl | Entfernen des negativen Vorzeichens |
Beispiele:
abs(-5) // erzeugt: 5
abs(10) // erzeugt: 10 (bereits positiv)
abs(-100) // erzeugt: 100
abs(0) // erzeugt: 0
round() Runden auf die nächste ganze Zahl
Rundet eine Dezimalzahl auf die nächste ganze Zahl.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
round(decimal) |
Dezimalzahl | Ganze Zahl | Runden auf die nächste Zahl |
Beispiele:
round(3,7) // erzeugt: 4 (rundet auf)
round(3,2) // erzeugt: 3 (rundet ab)
round(3,5) // erzeugt: 4 (bei der Hälfte wird aufgerundet)
round(-2,5) // erzeugt: -2
round(amount) // rundet den Betrag variabel
roundUp() Rundet immer auf
Es wird immer auf die nächste ganze Zahl aufgerundet (Obergrenze).
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
roundUp(decimal) |
Dezimalzahl | Ganze Zahl | Wenn aufgerundet werden soll |
Beispiele:
roundUp(3,2) // erzeugt: 4 (rundet auf, obwohl es eher 3 ist))
roundUp(3,9) // erzeugt: 4
roundUp(3,0) // erzeugt: 3 (bereits ganze Zahl)
roundUp(-2,5) // erzeugt: -2
roundDown() Rundet immer ab
Es immer auf die vorherige ganze Zahl abgerundet (Floor).
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
roundDown(decimal) |
Dezimalzahl | Ganze Zahl | Wenn abgerundet werden soll |
Beispiele:
roundDown(3,8) // erzeugt: 3 (rundet ab, obwohl es eher 4 ist)
roundDown(3,2) // erzeugt: 3
roundDown(3,0) // erzeugt: 3 (bereits ganze Zahl)
roundDown(-2,5) // erzeugt: -3
min() Ermittelt die kleinere Zahl
Ermittelt die kleinere von zwei Zahlen.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
min(number1, number2) |
Zwei Zahlen | Die kleinere | Herausfinden, welche Zahl kleiner ist |
Beispiele:
min(5, 10) // erzeugt: 5 (kleiner Zahl)
min(-3, 2) // erzeugt: -3 (negative Zahl ist kleiner)
min(age, 100) // erzeugt: je nachdem, was kleiner ist, Alter oder 100
min(3,5, 5) // erzeugt: 3Anwendungsfall: min(age, 65) stellt sicher, dass das Alter nicht über 65 liegt.
max() Ermittelt die größere Zahl
Ermittelt die größere von zwei Zahlen.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
max(number1, number2) |
Zwei Zahlen | Die größere | Herausfinden, welche Zahl größer ist |
Beispiele:
max(5, 10) // erzeugt: 10 (größere Zahl)
max(-3, 2) // erzeugt: 2
max(age, 18) // erzeugt: je nachdem, welcher Wert höher ist, Alter oder 18
max(3,5, 5) // erzeugt: 5Anwendungsfall: max(age, 18) stellt sicher, dass das Mindestalter 18 Jahre ist.
Listen- und Abbildungsfunktionen
Mit den folgenden Funktionen kannst du mit Listen (geordneten Sammlungen) und Maps (Schlüssel-Wert-Paaren) arbeiten.
➡️ Weitere Informationen findest du in den CEL-Listen und CEL-Karten.
size() Ermittelt die Anzahl von Elemente
Zählt, wie viele Elemente in einer Liste, einer Karte oder wie viele Zeichen in einem Text enthalten sind.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
size(collection) |
Liste, Karte oder Text | Anzahl von Elementen | Ermitteln der Anzahl von Gegenständen oder Zeichen |
collection.size() |
Nichts (Verwendung bei Liste/Karte/Text) | Anzahl von Elementen | Ermitteln der Anzahl von Gegenständen oder Zeichen |
Beispiele:
size([1, 2, 3]) // erzeugt: 3 (drei Einträge in der Liste)
[1, 2, 3].size() // erzeugt: 3
partners.size() // erzeugt: wie viele Partner du hast
size({"a": 1, "b": 2}) // erzeugt: 2 (zwei Schlüssel-Werte-Paare)
addresses.size() // erzeugt: wie viele Adressen du hast
size(„Hallo“) // erzeugt: 5 (fünf Buchstaben)
"hello".size() // erzeugt: 5
contact.email.size() > 5 // überprüft, ob die E-Mail länger als 5 Zeichen ist
in() Ermittelt, ob das Element existiert
Überprüft, ob ein Wert in einer Liste oder ein Schlüssel in einer Map existiert.
Funktion |
Eingabe |
Ausgabe |
Sollte in den folgenden Fällen benutzt werden |
|---|---|---|---|
value in list |
Wert und Liste | Wahr oder falsch | Überprüfen, ob das Element in einer Liste steht |
key in map |
Schlüssel und Karte | Wahr oder falsch | Überprüfen, ob der Schlüssel in einer Karte existiert |
Beispiele:
5 in [1, 2, 3, 4, 5] // erzeugt: wahr (5 ist in der Liste)
10 in [1, 2, 3] // erzeugt: falsch (10 isi nicht in der Liste)
„active“ in [„active“, „pending“, „completed“] // erzeugt: wahr
„name“ in {"name": "John", "age": 30} // erzeugt: wahr (Schlüssel „Name“ existiert)
„email“ in {"name": "John", "age": 30} // erzeugt: falsch (kein „E-Mail“-Schlüssel)
„home“ in der Anschrift // überprüft, ob die „Heimatadresse“ existiertUnsere Empfehlungen für Einsteiger:innen
Weitere Informationen findest du hier:
- CEL Sprachdefinition – Vollständiger Sprachführer
- CEL -Einführungstutorial – Erste Schritte mit CEL
- CEL Bewährte Vorgehensweisen – Tipps und Muster
Verstehen von Datentypen
Weitere Informationen findest du unter CEL Type System.
-
Text (String): Wörter und Sätze, immer in Anführungszeichen:
„Hallo“ -
Zahlen (int): Ganze Zahlen ohne Anführungszeichen:
42 -
Dezimalzahlen (doppelt): Zahlen mit Dezimalkomma:
3,14 -
Wahr/Falsch (bool): Nur
wahroderwahr, keine Anführungszeichen -
Listen: Mehrere Elemente in Klammern:
[1, 2, 3]oder[„a“, „b“, „c“] -
Karten: Schlüssel-Wert-Paare in geschweiften Klammern:
{"name": "John", "age": 30}
Verwenden von Mitgliedsfunktionen (Punktschreibweise)
Einige Funktionen werden mit einem Punkt (.) nach dem Wert angegeben:
„hallo“.contains(„a“) // Überprüft, ob „Hallo“ ein „a“ enthält
[1, 2, 3].size() // Ermittelt die Elemente in der Liste
timestamp("2024-01-01T00:00:00Z").getFullYear() // Ermittelt das Jahr aus dem DatumVerwenden regulärer Funktionen
Andere Funktionen umfassen den Wert:
int("123") // Wandelt Text in Zahlen um
round(3,7) Von runder Dezimalzahl zu ganzer Zahl
min(5, 10) // Finde eine kleinere ZahlFunktionen kombinieren
Du kannst Funktionen ineinander verschachteln:
string(round(3,7)) // Zuerst aufrunden von 3,7 auf 4, dann in „4“ konvertieren
int(duration("1h")) // Konvertiert 1 Stunde in 3.600 SekundenZeitzonen
Einige Datumsfunktionen akzeptieren eine Zeitzone (wie „Amerika/New_York“ oder „Europa/Paris“):
createdAt.getHours() // Ermittelt die Uhrzeit in UTC (Universalzeit)
createdAt.getHours("America/New_York") // Ermittelt die Uhrzeit in New YorkerBeachte
- Die Monate beginnen mit 0: Januar ist 0, Dezember ist 11
- Die Wochentage beginnen mit 0: Sonntag ist 0, Samstag ist 6
- Stunden werden im 24-Stunden-Format angezeigt: 0 ist Mitternacht, 13 ist 13 Uhr, 23 ist 23 Uhr
-
Verwende Anführungszeichen für Text:
„hallo“nichthallo -
Keine Anführungszeichen für Zahlen:
42nicht„42“
⏭️ Nächste Schritte
🤔 Sie haben eine Frage?
Wenden Sie sich bei Fragen an unser Support-Team: Erstellen Sie einfach ein Ticket über Ihr Konto. Wenn Sie noch kein Konto haben, können Sie uns hier kontaktieren.
Wenn Sie Unterstützung bei einem Projekt mit Brevo suchen, können wir Sie mit der richtigen zertifizierten Brevo-Partneragentur verbinden.