Implizite CAST-Umsetzungen für Zuordnungen

Werte können einer von drei Entitäten zugeordnet werden.
Nachrichtenfeld (oder Äquivalent in einer Ausnahme- oder Zielliste)
Die Unterstützung für implizite Konvertierungen zwischen den WebSphere Message Broker-Datentypen und der Nachricht (in Form ihres Bitstroms) ist von dem geeigneten Parser abhängig. Beispielsweise setzt der XML-Parser alles in Zeichenfolgen um, bevor er sie in die WebSphere MQ-Nachricht einfügt.
Feld in einer Datenbanktabelle

WebSphere Message Broker konvertiert jeden seiner Datentypen in einen geeigneten SQL-C-Standarddatentyp (siehe folgende Tabelle). Konvertierungen zwischen diesem SQL-C-Standarddatentyp und die von den einzelnen Datenbankverwaltungssystemen unterstützten Datentypen sind vom Datenbankverwaltungssystem abhängig. Weitere Informationen finden Sie in der Dokumentation Ihres Datenbankverwaltungssystems.

In der folgenden Tabelle werden die verfügbaren Konvertierungen von WebSphere Message Broker- in SQL-Datentypen aufgelistet.

WebSphere Message Broker-Datentyp SQL-Datentyp
NULL, oder unbekannter bzw. ungültiger Wert SQL_NULL_DATA
BOOLEAN SQL_C_BIT
INTEGER SQL_C_LONG
FLOAT SQL_C_DOUBLE
DECIMAL SQL_C_CHAR1
CHARACTER SQL_C_CHAR
TIME SQL_C_TIME
GMTTIME SQL_C_TIME
DATE SQL_C_DATE
TIMESTAMP SQL_C_TIMESTAMP
GMTTIMESTAMP SQL_C_DATE
INTERVAL Wird nicht unterstützt2
BLOB SQL_C_BINARY
BIT Wird nicht unterstützt2
Hinweise:
  1. Für eine einfachere Verarbeitung werden DECIMAL-Werte in Form von Zeichen an das Datenbankverwaltungssystem übergeben.
  2. Es gibt keinen geeigneten SQL-C-Standarddatentyp für INTERVAL oder BIT. Falls Sie einen dieser Typen einem Datenbankfeld zuordnen müssen, setzen Sie ihn vorher in einen anderen Datentyp um, z. B. CHARACTER.
Skalarvariable
Wenn bei einer Zuordnung zu einer Skalarvariable der Datentyp des zuzuordnenden Wertes nicht dem Datentyp der Zielvariable entspricht, wird versucht, eine implizite Umsetzung mit denselben Einschränkungen und Verhaltensweisen wie für die explizite CAST-Funktion beschrieben auszuführen. Die einzige Ausnahme gilt für Variable mit dem Datentyp INTERVAL oder DECIMAL.

In beiden Fällen wird der zuzuordnende Wert zunächst in einen CHARACTER-Wert umgesetzt und dann versucht, den CHARACTER-Wert in einen INTERVAL- bzw. DECIMAL-Wert umzusetzen. Der Grund dafür ist, dass INTERVAL ein Qualifikationsmerkmal erfordert und DECIMAL eine Angabe der Genauigkeit und der Anzahl der Kommastellen. Dies muss bei einer expliziten Umsetzung angegeben werden, bei einer impliziten Umsetzung aber aus der Zeichenfolge abgeleitet werden. Deshalb gilt die zusätzliche Einschränkung, dass bei einer impliziten Umsetzung in eine INTERVAL-Variable die Zeichenfolge das Format INTERVAL '<Werte>' <Qualifikationsmerkmal> haben muss. Das verkürzte Format <Werte>, das bei der expliziten Umsetzung akzeptiert wird, ist hier nicht zulässig.

Zugehörige Konzepte
Übersicht zu ESQL
Zugehörige Tasks
ESQL erstellen
Zugehörige Verweise
Komplexe ESQL-Funktionen
Implizite Umsetzungen
Implizite CAST-Umsetzungen für Vergleiche
Implizite CAST-Umsetzungen für Rechenoperationen
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ak05720_