データベース・データ・タイプが ESQL データ・タイプに暗黙的にキャストされる方法を示します。
メッセージ・フィールドの ESQL データ・タイプは、メッセージのタイプ (XML など)、および解析に使用されるパーサーによって異なります。 データベース列参照によって戻される値の ESQL データ・タイプは、データベース内の列のデータ・タイプに依存しています。
次の表は、ブローカーで実行中のメッセージ・フローによってアクセスされるときに、さまざまな組み込みデータベース・データ・タイプが ESQL データ・タイプにどのようにキャストされるかを示しています。
この表に示されているデータベース製品でサポートされるバージョンは、サポートされるデータベースにリストされています。
DB2® | SQL Server および Sybase | Oracle | Informix® | ESQL データ・タイプ |
---|---|---|---|---|
該当しません | BIT | 該当しません | 該当しません | BOOLEAN |
SMALLINT、INTEGER、BIGINT | INT、SMALLINT、TINYINT | 該当しません | INT、SMALLINT | INTEGER |
REAL、DOUBLE | FLOAT、REAL | NUMBER()1 | FLOAT、SMALLFLOAT、DOUBLE | FLOAT |
DECIMAL | DECIMAL、NUMERIC、MONEY、SMALLMONEY | NUMBER(P)1、NUMBER(P,S)1 | DECIMAL, MONEY | DECIMAL |
CHAR、VARCHAR、CLOB、GRAPHIC、VARGRAPHIC、LONGVARGRAPHIC、DBCLOB | CHAR、VARCHAR、TEXT | CHAR、VARCHAR2、ROWID、UROWID、LONG、CLOB | CHAR、VARCHAR、CHAR VARYING | CHARACTER |
TIME | 該当しません | 該当しません | 該当しません | TIME |
該当しません | 該当しません | 該当しません | 該当しません | GMTTIME |
DATE | 該当しません | 該当しません | DATE | DATE |
TIMESTAMP | DATETIME、SMALLDATETIME、TIMESTAMP | DATE | DATETIME | TIMESTAMP |
該当しません | 該当しません | 該当しません | 該当しません | GMTTIMESTAMP |
該当しません | 該当しません | 該当しません | INTERVAL | INTERVAL |
BLOB | BINARY、VARBINARY、IMAGE、UNIQUEIDENTIFIER | RAW LONG、RAW BLOB | 該当しません | BLOB |
該当しません | 該当しません | 該当しません | 該当しません | BIT |
XML | 該当しません | CHAR | 該当しません | BLOB |
この表は、データベースごとにサポートされているすべてのデータ・タイプを示しています。
SET OutputRoot.xxx[]
= (SELECT T.department FROM Database.personnel AS T);
Database.personnel が、SQL Server データベース表内の TINYINT 列に解決される場合は、OutputRoot.xxx に割り当てられる ESQL INTEGER 値のリストを生成します。
対照的に、同一の照会で Database.personnel が Oracle データベース内の NUMBER() 列に解決される場合は、OutputRoot.xxx に割り当てられる ESQL FLOAT 値のリストが生成されます。
ストアード・プロシージャー・パラメーターのデータ・タイプは、CREATE PROCEDURE ステートメントの外部プロシージャーの定義を使用してキャストされることに注意してください。