Konvertierfunktionen

Konvertierfunktionen wandeln Werte von einem Datentyp in einen anderen um. Diese Funktionen sind unerlaesslich, um die Datenkompatibilitaet beim Kombinieren verschiedener Datentypen in Ausdruecken sicherzustellen oder wenn Daten fuer bestimmte Ausgabeformate vorbereitet werden.

AsBoolean-Funktion

Die AsBoolean-Funktion wandelt einen Ausdruck in einen Booleschen Wert (True oder False) um. Diese Funktion ist nuetzlich zum Auswerten von Bedingungen, Pruefen auf leere Werte oder Konvertieren von numerischen und Zeichenkettenwerten in logische Werte.

Diese Funktion gibt einen Boolesch-Datentyp zurueck.

Syntax

AsBoolean(expression)

Parameter

Beschreibung

expression

Erforderlich. Der Wert, der in einen Booleschen Wert konvertiert werden soll. Kann ein beliebiger Datentyp sein (Zahl, Zeichenkette, Datum oder Null).

Konvertierungsregeln

Eingabetyp

Konvertierungsregel

Null

Gibt False zurueck

Zahl

Gibt False zurueck, wenn der Wert 0 ist; andernfalls wird True zurueckgegeben

Zeichenkette

Gibt False zurueck, wenn die Zeichenkette leer ist (""); andernfalls wird True zurueckgegeben

Datum

Gibt immer True zurueck (jedes gueltige Datum wird als Wahr betrachtet)

Boolesch

Gibt den Wert unveraendert zurueck

Beispiele

  1. Numerische Werte in Boolesche Werte konvertieren:

    AsBoolean(1)

    Ergebnis: True

    AsBoolean(0)

    Ergebnis: False

    AsBoolean(-5)

    Ergebnis: True

  2. Zeichenkettenwerte in Boolesche Werte konvertieren:

    AsBoolean("Hello")

    Ergebnis: True

    AsBoolean("")

    Ergebnis: False

  3. Pruefen, ob ein Empfaengerfeld einen Wert hat. Angenommen, das Feld MiddleName kann fuer einige Empfaenger leer sein:

    AsBoolean(|->[MiddleName])

    Wenn MiddleName = "Robert"

    Ergebnis: True

    Wenn MiddleName = ""

    Ergebnis: False

  4. In einem bedingten Ausdruck verwenden, um auf gueltige Daten zu pruefen:

    If (AsBoolean(|->[PhoneNumber])) {"Contact available"} else {"No contact info"}

    Wenn PhoneNumber = "555-1234"

    Ergebnis: "Contact available"

    Wenn PhoneNumber = ""

    Ergebnis: "No contact info"

AsDate-Funktion

Die AsDate-Funktion wandelt einen Ausdruck in einen Datumswert um. Diese Funktion interpretiert Zeichenketten als Datumsangaben, wandelt Zahlen basierend auf einem seriellen Datumssystem in Datumsangaben um und behandelt Nullwerte, indem das aktuelle Datum und die aktuelle Uhrzeit zurueckgegeben werden.

Diese Funktion gibt einen Datum-Datentyp zurueck.

Syntax

AsDate(expression)

Parameter

Beschreibung

expression

Erforderlich. Der Wert, der in ein Datum konvertiert werden soll. Kann eine Zeichenkette, eine Zahl oder Null sein.

Konvertierungsregeln

Eingabetyp

Konvertierungsregel

Null

Gibt das aktuelle Datum und die aktuelle Uhrzeit zurueck

Zahl

Interpretiert die Zahl als Anzahl der Tage ab dem 31. Dezember 1899. Zum Beispiel: 1 = 1. Januar 1900.

Zeichenkette

Analysiert die Zeichenkette als Datum unter Verwendung von Standard-Datumsformaten

Datum

Gibt den Wert unveraendert zurueck

Beispiele

  1. Eine Datumszeichenkette in einen Datumswert konvertieren:

    AsDate("02/07/2006")

    Ergebnis: 02/07/2006 (2. Juli 2006 oder 7. Februar 2006, je nach Gebietsschema)

  2. Eine Datumszeichenkette mit anderem Format konvertieren:

    AsDate("23/02/1994")

    Ergebnis: 23/02/1994 (23. Februar 1994)

  3. Eine Zahl in ein Datum konvertieren. Zahlen repraesentieren Tage seit dem 31. Dezember 1899:

    AsDate(1)

    Ergebnis: 01/01/1900 (1. Januar 1900)

    AsDate(44197)

    Ergebnis: 01/01/2021 (1. Januar 2021)

  4. Nullwerte behandeln (gibt das aktuelle Datum zurueck):

    AsDate(Null)

    Ergebnis: [Aktuelles Datum und Uhrzeit]

  5. Das als Text gespeicherte Datumsfeld eines Empfaengers konvertieren. Angenommen, BirthDateText enthaelt die Textzeichenkette "15/03/1985":

    AsDate(|->[BirthDateText])

    Ergebnis: #15/03/1985#

  6. Das als Text gespeicherte Datumsfeld eines Empfaengers konvertieren und die FormatDate()-Funktion verwenden, um die Datumszeichenkette beliebig zu formatieren. Angenommen, BirthDateText ist "15/03/1985":

    FormatDate(AsDate(|->[BirthDateText]), "MMMM dd, yyyy")

    Ergebnis: March 15, 1985

  7. Das Alter aus einer Geburtsdatumszeichenkette berechnen:

    Floor(Age(AsDate(|->[BirthDateText])))

    Wenn BirthDateText = "15/03/1985" und das aktuelle Jahr 2024 ist:

    Ergebnis: 39 (oder 38, je nachdem, ob der Geburtstag in diesem Jahr bereits stattgefunden hat)

Hinweis: Die Analyse von Datumszeichenketten haengt von den regionalen Einstellungen des Systems ab. Stellen Sie sicher, dass Ihre Datumszeichenketten dem erwarteten Format fuer Ihre Umgebung entsprechen. Verwenden Sie fuer vorhersagbare Ergebnisse nach Moeglichkeit das ISO-Format (JJJJ-MM-TT).

AsJsonArray-Funktion

Die AsJsonArray-Funktion nimmt mehrere kommagetrennte Ausdruecke entgegen und gibt ein JSON-Array mit deren Werten zurueck. Diese Funktion ist nuetzlich zum Uebergeben mehrerer Werte an andere Funktionen, zum Erstellen strukturierter Daten fuer Webdienste oder zum Erstellen dynamischer Inhalte, die eine Array-Formatierung erfordern.

Diese Funktion gibt einen Zeichenketten-Datentyp zurueck (formatiert als JSON-Array).

Syntax

AsJsonArray(expression1, expression2, ...)

Parameter

Beschreibung

expression1, expression2, ...

Erforderlich. Ein oder mehrere Ausdruecke, die in das JSON-Array aufgenommen werden sollen. Kann ein beliebiger Datentyp sein, einschliesslich Feldverweisen, Literalen und berechneten Werten.

Verhalten

  • Zeichenkettenwerte werden in der Ausgabe in doppelte Anfuehrungszeichen eingeschlossen

  • Numerische Werte erscheinen ohne Anfuehrungszeichen

  • Boolesche Werte erscheinen als true oder false (Kleinbuchstaben)

  • Nullwerte erscheinen als null

  • Ausdruecke werden ausgewertet, bevor sie dem Array hinzugefuegt werden

Beispiele

  1. Ein JSON-Array mit Literalwerten erstellen:

    AsJsonArray("apple", "banana", "cherry")

    Ergebnis: ["apple","banana","cherry"]

  2. Ein JSON-Array mit gemischten Datentypen erstellen:

    AsJsonArray("John", 25, True)

    Ergebnis: ["John",25,true]

  3. Ein JSON-Array mit Empfaengerdaten und berechneten Werten erstellen:

    AsJsonArray(|->[CustomerID], @{FirstName}, 1+3)

    Wenn CustomerID = "ML343" und der FirstName-ADOR "John" zurueckgibt:

    Ergebnis: ["ML343","John",4]

  4. Ein Array von Produkt-IDs fuer einen Webdienstaufruf erstellen:

    AsJsonArray(|->[Product1], |->[Product2], |->[Product3])

    Wenn Product1 = "SKU001", Product2 = "SKU002", Product3 = "SKU003":

    Ergebnis: ["SKU001","SKU002","SKU003"]

  5. Ein Array mit numerischen Berechnungen erstellen:

    AsJsonArray(|->[Quantity], |->[UnitPrice], |->[Quantity] * |->[UnitPrice])

    Wenn Quantity = 5 und UnitPrice = 19.99:

    Ergebnis: [5,19.99,99.95]

  6. Ein Array mit Kundenkontaktinformationen erstellen:

    AsJsonArray(|->[Email], |->[Phone], |->[Address])

    Wenn Email = "john@example.com", Phone = "555-1234", Address = "123 Main St":

    Ergebnis: ["john@example.com","555-1234","123 Main St"]

AsNumber-Funktion

Die AsNumber-Funktion wandelt einen Ausdruck in einen numerischen Wert um. Diese Funktion ist unerlaesslich fuer die Durchfuehrung mathematischer Operationen mit Daten, die moeglicherweise als Text gespeichert sind, oder um sicherzustellen, dass numerische Vergleiche korrekt funktionieren.

Diese Funktion gibt einen Zahl-Datentyp zurueck.

Syntax

AsNumber(expression)

Parameter

Beschreibung

expression

Erforderlich. Der Wert, der in eine Zahl konvertiert werden soll. Kann ein beliebiger Datentyp sein (Zeichenkette, Boolesch, Datum oder Null).

Konvertierungsregeln

Eingabetyp

Konvertierungsregel

Null

Gibt 0 zurueck

Boolesch

Gibt 1 fuer Wahr zurueck, 0 fuer Falsch

Zeichenkette

Extrahiert den fuehrenden numerischen Anteil. Wenn die Zeichenkette nicht mit einer Zahl beginnt, wird 0 zurueckgegeben.

Datum

Gibt die serielle Datumszahl zurueck (Tage seit dem 31. Dezember 1899)

Zahl

Gibt den Wert unveraendert zurueck

Beispiele

  1. Zeichenketten-Zahlen in numerische Werte konvertieren:

    AsNumber("42")

    Ergebnis: 42

    AsNumber("+24")

    Ergebnis: 24

    AsNumber("-15.5")

    Ergebnis: -15.5

  2. Zahlen aus Zeichenketten mit nachfolgendem Text extrahieren:

    AsNumber("23ab")

    Ergebnis: 23

    AsNumber("100 units")

    Ergebnis: 100

    AsNumber("$50.00")

    Ergebnis: 0 (Zeichenkette beginnt mit einem nicht-numerischen Zeichen)

  3. Zeichenketten verarbeiten, die nicht mit Zahlen beginnen:

    AsNumber("James")

    Ergebnis: 0

    AsNumber("ab23")

    Ergebnis: 0

  4. Boolesche Werte konvertieren:

    AsNumber(True)

    Ergebnis: 1

    AsNumber(False)

    Ergebnis: 0

  5. Nullwerte verarbeiten:

    AsNumber(Null)

    Ergebnis: 0

  6. Ein als Text gespeichertes Empfaengerfeld konvertieren, um Berechnungen durchzufuehren. Angenommen, QuantityOrdered ist als Text "5" gespeichert:

    AsNumber(|->[QuantityOrdered]) * AsNumber(|->[UnitPrice])

    Wenn QuantityOrdered = "5" und UnitPrice = "19.99":

    Ergebnis: 99.95

  7. Gesamtbetrag mit numerischer Konvertierung zur Sicherheit berechnen:

    AsNumber(|->[Subtotal]) + AsNumber(|->[Tax]) + AsNumber(|->[Shipping])

    Wenn Subtotal = "150.00", Tax = "12.00", Shipping = "8.50":

    Ergebnis: 170.5

  8. Antworten zaehlen, indem Boolesche Antworten konvertiert werden:

    AsNumber(|->[OptIn1]) + AsNumber(|->[OptIn2]) + AsNumber(|->[OptIn3])

    Wenn OptIn1 = True, OptIn2 = False, OptIn3 = True:

    Ergebnis: 2

Wichtig: Beim Konvertieren von Zeichenketten, die Waehrungssymbole oder andere fuehrende nicht-numerische Zeichen enthalten (wie "$50.00"), gibt die Funktion 0 zurueck. Verwenden Sie die Funktion Replace() oder FindAndReplace(), um solche Zeichen vor der Konvertierung zu entfernen, oder verwenden Sie die Funktion CleanNumber().

AsString-Funktion

Die AsString-Funktion wandelt einen Ausdruck in einen Zeichenketten- (Text-) Wert um. Diese Funktion ist nuetzlich zum Verketten verschiedener Datentypen, zum Vorbereiten von Daten fuer textbasierte Ausgaben oder zum Sicherstellen einer konsistenten Zeichenkettenformatierung.

Diese Funktion gibt einen Zeichenketten-Datentyp zurueck.

Syntax

AsString(expression)

Parameter

Beschreibung

expression

Erforderlich. Der Wert, der in eine Zeichenkette konvertiert werden soll. Kann ein beliebiger Datentyp sein (Zahl, Boolesch, Datum oder Null).

Konvertierungsregeln

Eingabetyp

Konvertierungsregel

Null

Gibt eine leere Zeichenkette zurueck ("")

Zahl

Gibt die Zeichenkettendarstellung der Zahl zurueck

Boolesch

Gibt "True" oder "False" zurueck

Datum

Gibt das Datum als Zeichenkette im Standard-Datumsformat des Systems zurueck

Zeichenkette

Gibt den Wert unveraendert zurueck

Beispiele

  1. Numerische Werte in Zeichenketten konvertieren:

    AsString(12)

    Ergebnis: "12"

    AsString(3.14159)

    Ergebnis: "3.14159"

    AsString(-42)

    Ergebnis: "-42"

  2. Boolesche Werte in Zeichenketten konvertieren:

    AsString(True)

    Ergebnis: "True"

    AsString(False)

    Ergebnis: "False"

  3. Nullwerte verarbeiten:

    AsString(Null)

    Ergebnis: "" (leere Zeichenkette)

  4. Eine Zahl mit Text verketten:

    "Order #" + AsString(|->[OrderNumber])

    Wenn OrderNumber = 12345:

    Ergebnis: "Order #12345"

  5. Eine formatierte Nachricht mit gemischten Datentypen erstellen:

    "You ordered " + AsString(|->[Quantity]) + " items for $" + AsString(|->[Total])

    Wenn Quantity = 3 und Total = 59.97:

    Ergebnis: "You ordered 3 items for $59.97"

  6. Einen eindeutigen Bezeichner durch Kombinieren von Feldern erstellen:

    AsString(|->[CustomerID]) + "-" + AsString(|->[OrderID]) + "-" + AsString(|->[LineItem])

    Wenn CustomerID = 1001, OrderID = 5432, LineItem = 2:

    Ergebnis: "1001-5432-2"

  7. Eine Anrede mit null-sicherer Konvertierung erstellen:

    If (AsString(|->[Title]) != ""){AsString(|->[Title]) + " "} else {""} + AsString(|->[LastName])

    Wenn Title = "Dr." und LastName = "Smith":

    Ergebnis: "Dr. Smith"

    Wenn Title = Null und LastName = "Johnson":

    Ergebnis: "Johnson"

  8. Eine Telefonnummer durch Konvertieren und Verketten von Teilen formatieren:

    "(" + AsString(|->[AreaCode]) + ") " + AsString(|->[PhonePrefix]) + "-" + AsString(|->[PhoneSuffix])

    Wenn AreaCode = 555, PhonePrefix = 123, PhoneSuffix = 4567:

    Ergebnis: "(555) 123-4567"

Tipps:

  • Fuer mehr Kontrolle ueber die Formatierung von Zahlen und Datumsangaben als Zeichenketten sollten Sie die Funktionen FormatNumber() oder FormatDate() anstelle von AsString() verwenden. Diese spezialisierten Formatierungsfunktionen bieten Optionen fuer Dezimalstellen, Datumsmuster und gebietschemaspezifische Formatierung.

  • Beim Verketten von ADORs oder Variablen erzwingt die Verwendung des Operators & anstelle von +, dass die Werte als Zeichenkette behandelt werden. Zum Beispiel ist "Order #" & |->[OrderNumber] gleichbedeutend mit "Order #" + AsString(|->[OrderNumber])

Weitere Themen