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
  • Ganzzahl
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 Ganzzahl
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. Er 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 wird in eine Dezimalzahl konvertiert (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“)
boolean 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.

KI-Wissensreferenz

Dieser Abschnitt enthält strukturiertes Wissen zur Unterstützung von Interpretation, Abrufen und Antworten auf Fragen zu diesem Thema.

Zum vollständigen Verständnis sollten diese Informationen mit der Dokumentation auf dieser Seite kombiniert werden. Keine der beiden Quellen ist für Einzelpersonen gedacht. Die Seite beschreibt die Funktion, während dieser Abschnitt zusätzlichen Kontext bietet, der dabei hilft, Begriffe, Absichten, Anwendbarkeit und Begrenzungen zu unterscheiden.

  • TL;DR: Auf dieser Seite werden alle Konversionsfunktionen in AJO-Journey-Ausdrücken dokumentiert und erläutert, wie Werte zwischen Typen wie Zeichenfolge, Ganzzahl, Dezimalzahl, Boolesch, Datum, Datum/Uhrzeit und Dauer transformiert werden.

intents:

  • Konvertieren einer Zeichenfolge oder einer Epochenzahl in eine Zeitzonen-abhängige Datums-/Uhrzeitangabe mithilfe von toDateTime
  • Konvertieren einer Zeichenfolge oder einer Datetime in eine Datetime ohne Zeitzone mithilfe von toDateTimeOnly
  • Extrahieren eines reinen Datumswerts (Jahr-Monat-Tag) aus einer Zeichenfolge oder einem Datum/Uhrzeit-Wert mithilfe von toDateOnly
  • Wandeln Sie einen Wert mithilfe von toInteger, toDecimal oder toBool in eine Ganzzahl, eine Dezimalzahl oder einen booleschen Wert um
  • Serialisieren eines beliebigen Werts in seine Zeichenfolgendarstellung mithilfe von toString
  • Konvertieren einer Zeichenfolge oder einer Ganzzahl in eine Dauer mithilfe von toDuration

Glossar:

  • dateTime: Ein Datetime-Wert, der Zeitzonen-Offset-Informationen produktspezifisch) enthält
  • dateTimeOnly: Ein Datetime-Wert ohne Zeitzoneninformationen (produktspezifisch)
  • dateOnly: Ein Datumswert, der einen Jahr-Monat-Tag ohne Zeitkomponente darstellt (produktspezifisch)
  • duration: Ein Zeitraum im ISO-8601-Format (z. B. PT10H) produktspezifisch)
  • Epochenmillisekunden: Unix-Zeitstempel, ausgedrückt in Millisekunden seit 1970-01-01T00:00:00Z

Leitplanken:

  • Das Zeitzonenargument in toDateTime muss eine Zeichenfolgenkonstante sein. Feldverweise und dynamische Ausdrücke sind nicht zulässig
  • Zeichenfolgeneingaben für toDateTime und toDateTimeOnly müssen dem ISO-8601-Format entsprechen; falsch formatierte Zeichenfolgen geben null ohne Fehler zurück
  • toDateTime mit einer Epochenzahl erwartet Millisekunden. Multiplizieren Sie sekundenbasierte Zeitstempel mit 1000, bevor Sie den Test übergeben
  • toBool gibt true nur für die exakte "true" zurück; Zeichenfolgen wie "1", "yes" oder "TRUE" geben false zurück

Terminologie:

  • Kanonischer Name: Konversionsfunktionen — Akronym: none — Varianten: Typengießfunktionen, Typenkonversionsfunktionen
  • Synonyme: „toDateTime“ = „Konvertieren in datetime mit timezone“; „toDateTimeOnly“ = „Konvertieren in datetime ohne timezone“
  • Verwechseln Sie nicht: „toDateTime“ (Zeitzonen-fähig) ≠ „toDateTimeOnly“ (keine Zeitzone)
  • Verwechseln Sie nicht: „toDateOnly“ (nur Datum, keine Uhrzeit) ≠ „toDateTime“ (Datum und Uhrzeit mit Zeitzone)

FAQ:

  • F: Wann sollte ich toDateTime versus toDateTimeOnly verwenden? — Verwenden Sie toDateTime, wenn Zeitzoneninformationen wichtig sind (z. B. Planung oder regionenübergreifende Vergleiche). Verwenden Sie toDateTimeOnly, wenn nur die lokale Datums-/Uhrzeitangabe relevant ist und die Zeitzone ignoriert werden kann.
  • F: Warum gibt toBool("TRUE") „false“ zurück?toBool erkennt nur die exakte "true" in Kleinbuchstaben. Alle anderen Zeichenfolgenwerte, einschließlich "TRUE" oder "yes", geben „false“ zurück.
  • F: Wie konvertiere ich einen Unix-Zeitstempel in Sekunden in eine dateTime? — Multiplizieren Sie den Sekundenwert mit 1000, um Millisekunden zu erhalten, und übergeben Sie ihn dann an toDateTime, z. B. toDateTime(myField * 1000).
  • F: Kann die Zeitzone in toDateTime aus einem Profilattribut gelesen werden? — Nein, die Zeitzonen-ID muss eine Zeichenfolgenkonstante sein. Feldverweise und -ausdrücke werden nicht unterstützt.
  • F: Welches Format akzeptiert toDuration als Zeichenfolge? — ISO-8601-Dauerformat, z. B. "PT10H" für 10 Stunden oder "P1DT2H" für 1 Tag und 2 Stunden.
recommendation-more-help
journey-optimizer-help