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
-
Numerische Werte in Boolesche Werte konvertieren:
AsBoolean(1)
Ergebnis: True
AsBoolean(0)
Ergebnis: False
AsBoolean(-5)
Ergebnis: True
-
Zeichenkettenwerte in Boolesche Werte konvertieren:
AsBoolean("Hello")
Ergebnis: True
AsBoolean("")
Ergebnis: False
-
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
-
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
-
Eine Datumszeichenkette in einen Datumswert konvertieren:
AsDate("02/07/2006")
Ergebnis: 02/07/2006 (2. Juli 2006 oder 7. Februar 2006, je nach Gebietsschema)
-
Eine Datumszeichenkette mit anderem Format konvertieren:
AsDate("23/02/1994")
Ergebnis: 23/02/1994 (23. Februar 1994)
-
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)
-
Nullwerte behandeln (gibt das aktuelle Datum zurueck):
AsDate(Null)
Ergebnis: [Aktuelles Datum und Uhrzeit]
-
Das als Text gespeicherte Datumsfeld eines Empfaengers konvertieren. Angenommen, BirthDateText enthaelt die Textzeichenkette "15/03/1985":
AsDate(|->[BirthDateText])
Ergebnis: #15/03/1985#
-
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
-
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
-
Ein JSON-Array mit Literalwerten erstellen:
AsJsonArray("apple", "banana", "cherry")
Ergebnis: ["apple","banana","cherry"]
-
Ein JSON-Array mit gemischten Datentypen erstellen:
AsJsonArray("John", 25, True)
Ergebnis: ["John",25,true]
-
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]
-
Ein Array von Produkt-IDs fuer einen Webdienstaufruf erstellen:
AsJsonArray(|->[Product1], |->[Product2], |->[Product3])
Wenn Product1 = "SKU001", Product2 = "SKU002", Product3 = "SKU003":
Ergebnis: ["SKU001","SKU002","SKU003"]
-
Ein Array mit numerischen Berechnungen erstellen:
AsJsonArray(|->[Quantity], |->[UnitPrice], |->[Quantity] * |->[UnitPrice])
Wenn Quantity = 5 und UnitPrice = 19.99:
Ergebnis: [5,19.99,99.95]
-
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
-
Zeichenketten-Zahlen in numerische Werte konvertieren:
AsNumber("42")
Ergebnis: 42
AsNumber("+24")
Ergebnis: 24
AsNumber("-15.5")
Ergebnis: -15.5
-
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)
-
Zeichenketten verarbeiten, die nicht mit Zahlen beginnen:
AsNumber("James")
Ergebnis: 0
AsNumber("ab23")
Ergebnis: 0
-
Boolesche Werte konvertieren:
AsNumber(True)
Ergebnis: 1
AsNumber(False)
Ergebnis: 0
-
Nullwerte verarbeiten:
AsNumber(Null)
Ergebnis: 0
-
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
-
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
-
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
-
Numerische Werte in Zeichenketten konvertieren:
AsString(12)
Ergebnis: "12"
AsString(3.14159)
Ergebnis: "3.14159"
AsString(-42)
Ergebnis: "-42"
-
Boolesche Werte in Zeichenketten konvertieren:
AsString(True)
Ergebnis: "True"
AsString(False)
Ergebnis: "False"
-
Nullwerte verarbeiten:
AsString(Null)
Ergebnis: "" (leere Zeichenkette)
-
Eine Zahl mit Text verketten:
"Order #" + AsString(|->[OrderNumber])
Wenn OrderNumber = 12345:
Ergebnis: "Order #12345"
-
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"
-
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"
-
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"
-
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
-
Numerische Funktionen - Funktionen fuer mathematische Operationen
-
Zeichenkettenfunktionen - Funktionen fuer die Textbearbeitung
-
Datumsfunktionen - Funktionen fuer Datums- und Zeitoperationen