Wenn Sie ein Element mit einem anderen Element, einer Variable oder Konstante vergleichen, achten Sie darauf, dass der Wert, mit dem das Element verglichen wird, konsistent ist (beispielsweise Zeichen mit Zeichen). Wenn die Werte nicht konsistent sind, generiert der Broker einen Laufzeitfehler, falls er kein implizites Casting für die Auflösung der Inkonsistenz bereitstellen kann. Der Abschnitt Implizite Umsetzungen enthält detaillierte Informationen zu den unterstützen CAST-Ausdrücken.
Mit Hilfe der CAST-Funktion können Sie den Datentyp eines Werts umwandeln, damit er dem Datentyp des anderen Werts entspricht. Sie können die CAST-Funktion beispielsweise bei der Verarbeitung generischer XML-Nachrichten verwenden. Da alle Felder in einer XML-Nachricht Zeichenwerte enthalten, gilt Folgendes, wenn Sie beispielsweise mathematische Berechnungen oder Datums-/Zeitvergleiche anstellen möchten: Sie müssen den Zeichenfolgewert des Felds mit Hilfe von CAST in einen Wert des entsprechenden Typs konvertieren.
In der Nachricht 'Invoice' (Rechnung) enthält das Feld 'InvoiceDate' das Rechnungsdatum. Wenn Sie auf dieses Feld verweisen oder es bearbeiten möchten, müssen Sie es zunächst mit Hilfe von CAST in das richtige Format umsetzen. Zum Verweis auf dieses Feld in einem Test gilt Folgendes:
IF CAST(Body.Invoice.InvoiceDate AS DATE) = CURRENT_DATE THEN
Auf diese Weise wird der Zeichenfolgewert des Felds 'InvoiceDate' in einen Datumswert konvertiert und mit dem aktuellen Datum verglichen.
Ein weiteres Beispiel ist das Casting von einer Ganzzahl in ein Zeichen:
DECLARE I INTEGER 1; DECLARE C CHARACTER; -- Folgende Anweisung generiert einen Fehler SET C = I; -- Folgende Anweisung ist gültig SET C = CAST(I AS CHARACTER);