外部ソースの値のデータ・タイプ

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 変更の始まりDATETIME、SMALLDATETIME、TIMESTAMP変更の終わり DATE DATETIME
GMTTIMESTAMP        
INTERVAL       INTERVAL
BLOB BLOB 変更の始まりBINARY、VARBINARY、IMAGE、UNIQUEIDENTIFIER変更の終わり RAW LONG、RAW BLOB  
BIT        
注:
  1. データ・タイプが NUMBER である Oracle データベース列が、明示的に精度 (P) と位取り (S) で定義されている場合は、ESQL DECIMAL 値にキャストされます。それ以外の場合は FLOAT にキャストされます。
    例えば、次のような ESQL ステートメントは、
    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 値のリストが生成されます。

関連概念
ESQL の概要
関連タスク
ESQL の開発
関連資料
データベースでの Unicode および DBCS データのサポート
複合 ESQL 関数
CAST 関数
サポートされる CAST
暗黙のキャスト
サポートされるデータベース
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
最終更新 : 2009-02-20 12:44:06

ak05730_