Konvertierungsfunktionen conversion-functions

Mit Konvertierungsfunktionen können Sie Daten in Ihren Journey-Ausdrücken von einem Typ in einen anderen umwandeln. Diese Funktionen sind für die Gewährleistung der Datenkompatibilität und der ordnungsgemäßen Typverarbeitung bei der Arbeit mit verschiedenen Datenquellen und Vorgängen von entscheidender Bedeutung.

Verwenden Sie Konvertierungsfunktionen für Folgendes:

  • Konvertieren von Zeichenfolgewerten in numerische oder boolesche Typen oder Datentypen (toIntegertoDecimaltoBool)
  • Umwandeln von Datums- und Zeitangaben zwischen verschiedenen Formaten und Darstellungsweisen (toDateTimetoDateTimeOnlytoDateOnly)
  • Umrechnen von Zahlenwerten zwischen Ganzzahl und Dezimalzahl (toInteger, toDecimal)
  • Konvertieren von Werten in Zeichenfolgenformat (toString) oder Dauer (toDuration)
  • Gewährleisten von Typenkompatibilität bei Vergleichen und Vorgängen
  • Verarbeiten von Daten aus externen Quellen, die unterschiedliche Typformate aufweisen können

Jede Konvertierungsfunktion verarbeitet typspezifische Regeln und Randfälle automatisch, wodurch die Datenumwandlung in Ihren Journey-Ausdrücken zuverlässiger und vorhersehbarer wird.

Kurzübersicht quick-reference

Ziel
Funktion
Konvertieren einer Zeichenfolge oder Epoche in ein Datum mit Zeitzone
toDateTime
Konvertieren einer Zeichenfolge oder eines Datums in eine Datums-/(ohne Zeitzone
toDateTimeOnly
Nur ein Datum extrahieren (Jahr-Monat-Tag, keine Zeit)
toDateOnly
In eine ganze Zahl konvertieren
toInteger
In eine Dezimalzahl konvertieren
toDecimal
In true/false konvertieren
toBool
Konvertieren eines beliebigen Werts in eine Zeichenfolge
toString
In eine Dauer konvertieren (ISO-8601, z. B. PT10H)
toDuration
TIP
toDateTime vs. toDateTimeOnly: Verwenden Sie toDateTime, wenn Zeitzonen wichtig sind (z. B. beim Planen von Nachrichten oder beim Vergleichen von Ereignis-Zeitstempeln über Regionen hinweg). Verwenden Sie toDateTimeOnly, wenn nur die lokale Datums-/Uhrzeitangabe relevant ist und die Zeitzone ignoriert werden kann (z. B. beim Vergleichen von Kalenderdaten in einer Bedingung).

Häufige Fehler pitfalls

  • Zeitzone muss eine Zeichenfolgenkonstante sein — Das Zeitzonenargument in toDateTime kann kein Feldverweis oder dynamischer Ausdruck sein. Übergeben Sie immer eine literale Zeichenfolge wie "UTC" oder "Europe/Paris".
  • ISO-8601-Format, das für Zeichenfolgeneingaben erforderlich ist - Stellen Sie beim Übergeben einer Zeichenfolge an toDateTime oder toDateTimeOnly sicher, dass sie dem ISO-8601-Format entspricht (z. B. "2023-08-18T23:17:59.123Z"). Falsch formatierte Zeichenfolgen geben null ohne Fehler zurück.
  • Epochenwerte sind in Millisekunden - toDateTime(1560762190189) erwartet Millisekunden. Wenn Ihre Quelle Unix-Zeitstempel in Sekunden bereitstellt, multiplizieren Sie zuerst mit 1000 (z. B. toDateTime(myField * 1000)).
  • toBool mit unerwarteten ZeichenfolgentoBool gibt nur dann true zurück, wenn der Zeichenfolgenwert genau "true" ist. Jede andere Zeichenfolge (einschließlich "1", "yes", "TRUE") gibt false zurück.

toBool toBool

Konvertiert einen Argumentwert je nach Typ in einen booleschen Wert.

  • Von Zeichenfolge: Versucht, den Zeichenfolgenwert in einen booleschen Wert zu konvertieren, von „true“, wenn der Zeichenfolgenwert „true“ ist, andernfalls „false“
  • Von numerisch: „true“, wenn der numerische Wert ungleich 0 ist, andernfalls „false“
Syntax
toBool(<parameter>)
Parameter
  • decimal
  • boolean
  • string
  • integer
Signaturen und zurückgegebene Typen

toBool(<decimal>)

toBool(<boolean>)

toBool(<string>)

toBool(<integer>)

Geben einen booleschen Wert zurück.

Beispiele

toBool("true")

toBool(1)

Gibt „true“ zurück.

toBool("this is not a boolean")

Gibt „false“ zurück.

toDateOnly toDateOnly

Konvertiert ein Argument in einen Wert vom Typ dateOnly. Weitere Informationen zu Datentypen finden Sie in diesem Abschnitt.

Syntax
toDateOnly(<parameters>)
Parameter
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
Parameter Typ
Zeichenfolgendarstellung eines Datums als „JJJJ-MM-TT“ (XDM-Format). Unterstützt auch das ISO-8601-Format: nur der Teil mit dem vollständigen Datum wird berücksichtigt (siehe RFC 3339, Abschnitt 5.6 string
Datum/Uhrzeit dateTime
Datum/Uhrzeit ohne Zeitzone dateTimeOnly
Ganzzahliger Wert einer Epoche in Millisekunden integer
Signaturen und zurückgegebene Typen

toDateOnly(<dateTime>)

toDateOnly(<dateTimeOnly>)

toDateOnly(<string>)

toDateOnly(<integer>, <integer>, <integer>)

Gibt einen Wert vom Typ dateOnly zurück.

Beispiele

toDateOnly("2023-08-18")

toDateOnly("2023-08-18T00:00:00.000Z")

toDateOnly("2023-08-18T00:00:00")

alle geben ein dateOnly-Objekt zurück, das den 18.08.2023 darstellt.

toDateOnly(#{ExperiencePlatform.ProfileFieldGroup.person.birthDate})

Gibt ein dateOnly zurück.

toDateTime toDateTime

Konvertiert Parameter je nach Typ in einen Datum-/Uhrzeit-Wert.

Syntax
toDateTime(<parameters>)
Parameter
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
Parameter Beschreibung
string Datum/Uhrzeit im ISO-8601-Format. Eine Zeichenfolgendarstellung eines Datums-/Uhrzeitwerts mit Zeitzoneninformationen
string Zeitzonen-ID. Eine Zeitzonenkennung (z. B. „UTC“, „Europe/Paris“)
dateOnly Stellt ein reines Datum ohne Zeitzone im Format „Jahr-Monat-Tag“ dar
dateTimeOnly Stellt Datum und Uhrzeit ohne Zeitzone im Format „Jahr-Monat-Tag-Stunde-Minute-Sekunde-Millisekunde“ dar
integer Ganzzahliger Wert einer Epoche in Millisekunden
Signaturen und zurückgegebene Typen

toDateTime(<string>)

toDateTime(<string>, <dateOnly>)

toDateTime(<string>, <dateTimeOnly>)

toDateTime(<integer>)

Gibt einen Datum/Uhrzeit-Wert zurück.

Beispiele

toDateTime("2023-08-18T23:17:59.123Z")

Gibt 2023-08-18T23:17:59.123Z zurück.

Die ISO-8601-Zeichenfolge enthält bereits Zeitzoneninformationen.

toDateTime("Europe/Paris", toDateOnly("2023-08-18"))

Gibt „2023-08-18T00:00:00.000+02:00“ zurück

Dadurch wird ein dateTime-Wert erstellt, indem eine Zeitzone mit einem reinen Datumswert kombiniert wird. Die Uhrzeit wird in der angegebenen Zeitzone auf Mitternacht (00:00:00) festgelegt.

toDateTime("UTC", toDateTimeOnly("2023-08-18T23:17:59.123"))

Gibt „2023-08-18T23:17:59.123Z“ zurück

Dadurch wird ein dateTime-Wert erstellt, indem eine Zeitzone auf einen dateTimeOnly-Wert angewendet wird (der keine Zeitzoneninformationen enthält).

toDateTime(1560762190189)

Gibt „2019-06-17T09:03:10.189Z“ zurück

Konvertiert einen Unix-Zeitstempel in Millisekunden in einen dateTime-Wert.

NOTE
Die Zeitzonen-ID muss eine Zeichenfolgenkonstante sein. Sie darf weder ein Feldverweis noch ein Ausdruck sein. Weitere Informationen zu Datentypen finden Sie auf dieser Seite.

toDateTimeOnly toDateTimeOnly

Konvertiert einen Argumentwert in einen reinen Datum-/Uhrzeit-Wert.

Syntax
toDateTimeOnly(<parameters>)
Parameter
table 0-row-2 1-row-2 2-row-2
Parameter Typ
Datum/Uhrzeit im ISO-8601-Format oder im XDM-Datumsformat "JJJJ-MM-TT" string
Datum/Uhrzeit dateTime
Signaturen und zurückgegebene Typen

toDateTimeOnly(<dateTime>)

toDateTimeOnly(<string>)

Gibt einen Datum/Uhrzeit-Wert ohne Berücksichtigung der Zeitzone zurück.

Beispiele

toDateTimeOnly ("2023-08-18")

Gibt einen Datum/Uhrzeit-Wert zurück, der 2023-08-18T00:00:00.000 entspricht.

toDateTimeOnly(now())

toDecimal toDecimal

Konvertiert einen Argumentwert je nach Typ in einen Dezimalwert.

Syntax
toDecimal(<parameter>)
Parameter
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
Parameter Beschreibung
string konvertiert den Zeichenfolgenwert in eine Dezimalzahl
dateTime konvertiert das Datum in die Zahl der Millisekunden (Millisekunden der Epoche)
boolean wandelt den booleschen Wert in 1 um, wenn „true“, und in 0, wenn „false“
integer konvertiert in eine Dezimalzahl (Beispiel: 1 wird zu 1.0)
Signaturen und zurückgegebene Typen

toDecimal(<integer>)

toDecimal(<decimal>)

toDecimal(<string>)

toDecimal(<boolean>)

Gibt eine Dezimalzahl zurück.

Beispiele

toDecimal("4.0")

Gibt 4.0 zurück.

toDuration toDuration

Konvertiert einen Argumentwert in eine Dauer. Weitere Informationen zu Datentypen finden Sie auf dieser Seite.

Syntax
toDuration(<parameter>)
Parameter
table 0-row-2 1-row-2 2-row-2
Parameter Beschreibung
string Formate, die auf dem ISO 8601-Dauerformat PnDTnHnMn.nS basieren, wobei Tage als genau 24 Stunden betrachtet werden.
integer Zahl der Millisekunden

Wenn Zeichenfolgenausdruck: Akzeptierte Formate basieren auf dem ISO 8601-Dauerformat PnDTnHnMn.nS, wobei Tage als genau 24 Stunden betrachtet werden.

Die Zeichenfolge beginnt mit einem optionalen Zeichen, markiert durch das negative oder positive ASCII-Symbol. Bei negativen Werten wird der gesamte Zeitraum negiert. Der ASCII-Buchstabe „P“ folgt in Groß- oder Kleinschreibung. Dann gibt es vier Bereiche, die jeweils aus einer Zahl und einem Suffix bestehen. Die Bereiche weisen die ASCII-Suffixe von „D“, „H“, „M“ und „S“ für Tage, Stunden, Minuten und Sekunden auf, akzeptiert in Groß- oder Kleinschreibung. Die Suffixe müssen in richtiger Reihenfolge erscheinen. Der ASCII-Buchstabe „T“ muss vor dem ersten Auftreten, so vorhanden, einer Stunde, einer Minute oder eines zweiten Bereichs stehen. Es muss mindestens einer der vier Bereiche vorhanden sein und wenn „T“ vorhanden ist, muss mindestens ein Bereich auf das „T“ folgen. Der Zahlenteil der einzelnen Bereiche muss aus einer oder mehreren ASCII-Ziffern bestehen. Der Zahl kann das negative oder positive ASCII-Symbol vorangestellt werden. Die Zahl der Tage, Stunden und Minuten muss zu einem „long“ ausgewertet werden. Die Zahl der Sekunden muss zu einem „long“ mit optionalem Bruch ausgewertet werden. Das Dezimalzeichen kann ein Punkt oder ein Komma sein. Der Bruchteil kann zwischen null und neun Stellen aufweisen.

Signaturen und zurückgegebener Typ

toDuration(<string>)

toDuration(<integer>)

Gibt eine Dauer zurück.

Beispiele

toDuration("PT10H")

Gibt eine Dauer von 10 Stunden zurück.

toDuration("PT4S")

Gibt eine Dauer von 4 Sekunden zurück.

toDuration(4000)

Gibt eine Dauer von 4 Sekunden zurück.

toInteger toInteger

Konvertiert einen Argumentwert in eine Ganzzahl.

Syntax
toInteger(<parameter>)
Parameter
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
Parameter Beschreibung
string konvertiert den Zeichenfolgenwert in eine Ganzzahl
dateTime konvertiert das Datum in die Zahl der Millisekunden (Millisekunden der Epoche)
decimal konvertiert in eine Ganzzahl, indem der Dezimalteil entfernt wird (Beispiel: 1.5 wird zu 1)
boolean wandelt den booleschen Wert in 1 um, wenn „true“, und in 0, wenn „false“
Signaturen und zurückgegebener Typ

toInteger(<dateTime>)

toInteger(<decimal>)

toInteger(<integer>)

toInteger(<string>)

toInteger(<boolean>)

Gibt eine Ganzzahl zurück.

Beispiele

toInteger("4")

Gibt 4 zurück.

toString toString

Konvertiert einen Argumentwert je nach Typ in einen Zeichenfolgenwert. Weitere Informationen zu Datentypen finden Sie auf dieser Seite.

Syntax
toString(<parameter>)
Parameter
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
Parameter Beschreibung
dateTime konvertiert das Datum in das UTC-Datumsformat
dateTimeOnly konvertiert das Datum in das UTC-Datumsformat
duration konvertiert in die entsprechende Anzahl von Millisekunden als Zeichenfolge
integer konvertiert den Wert in eine Zeichenfolgendarstellung (1 wird zu „1“)
decimal konvertiert den Wert in eine Zeichenfolgendarstellung (1,5 wird zu „1,5“)
Boolescher Wert konvertiert den booleschen Wert in 'true', wenn „true“, in 'false', wenn „false“
Signaturen und zurückgegebener Typ

toString(<dateTimeOnly>)

toString(<dateTime>)

toString(<duration>)

toString(<boolean>)

toString(<integer>)

toString(<decimal>)

Gibt eine Zeichenfolge zurück.

Beispiele

toString(4)

Gibt „4“ zurück.

toString(#{ExperiencePlatform.test_date.person.birthDate}))

Gibt die Zeichenfolgendarstellung des angegebenen dateOnly-Feldes (XDM-Datumsfeld) zurück, beispielsweise „18.08.2023“.

toString(toDuration(1520))

Gibt „PT1.52S“ zurück.

recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76