ESQL では、2 つの外部ソース (メッセージ・フィールドとデータベース列) からデータを抽出できます。
メッセージ・フィールドの ESQL データ・タイプは、メッセージのタイプ (XML など)、および解析に使用されるパーサーによって異なります。データベース列参照によって戻される値の ESQL データ・タイプは、データベース内の列のデータ・タイプに依存しています。
次の表は、ブローカーで実行中のメッセージ・フローによってアクセスされるときに、さまざまな組み込みデータベース・データ・タイプがキャストされる ESQL データ・タイプを示しています。
この表に示されているデータベース製品でサポートされるバージョンは、サポートされるデータベースにリストされています。
データ・タイプ | DB2® | SQL Server および Sybase | Oracle | Informix® |
---|---|---|---|---|
BOOLEAN | BIT | |||
INTEGER | SMALLINT、INTEGER、BIGINT | INT、SMALLINT、TINYINT | INT, SMALLINT | |
FLOAT | REAL、DOUBLE | FLOAT、REAL | NUMBER()1 | FLOAT、SMALLFLOAT、DOUBLE |
DECIMAL | DECIMAL | DECIMAL、NUMERIC、MONEY、SMALLMONEY | NUMBER(P)1、NUMBER(P,S)1 | DECIMAL, MONEY |
CHARACTER | CHAR、VARCHAR、CLOB | CHAR、VARCHAR、TEXT | CHAR、VARCHAR2、ROWID、UROWID、LONG、CLOB | CHAR、VARCHAR、CHAR VARYING |
TIME | TIME | |||
GMTTIME | ||||
DATE | DATE | DATE | ||
TIMESTAMP | TIMESTAMP | ![]() ![]() |
DATE | DATETIME |
GMTTIMESTAMP | ||||
INTERVAL | INTERVAL | |||
BLOB | BLOB | ![]() ![]() |
RAW LONG、RAW BLOB | |
BIT |
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 値のリストが生成されます。