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

ESQL によってデータを抽出できる外部ソースは、次の 2 つです。
  • メッセージ・フィールド
  • データベース列

メッセージ・フィールドの ESQL データ・タイプは、メッセージのタイプ (XML など)、および解析に使用されるパーサーによって異なります。データベース列参照によって戻される値の ESQL データ・タイプは、データベース内の列のデータ・タイプに依存しています。

次の表は、WebSphere Message Broker によってアクセスされるときに、さまざまな組み込み DBMS データ・タイプがキャストされる ESQL データ・タイプを示しています。

DBMS 製品は、DB2 (製品に付属のもののバージョン)、SQL Server Version 7.0、Sybase Version 12.0、および Oracle Version 8.1.5 です。

  DB2 SQL Server および Sybase Oracle
BOOLEAN   BIT  
INTEGER SMALLINT、INTEGER、BIGINT INT、SMALLINT、TINYINT  
FLOAT REAL、DOUBLE FLOAT、REAL NUMBER()1
DECIMAL DECIMAL DECIMAL、NUMERIC、MONEY、SMALLMONEY NUMBER(P)1、NUMBER(P,S)1
CHARACTER CHAR、VARCHAR、CLOB CHAR、VARCHAR、TEXT CHAR、NCHAR、VARCHAR2、NVARCHAR2、ROWID、UROWID、LONG、 CLOB、
TIME TIME    
GMTTIME      
DATE DATE    
TIMESTAMP TIMESTAMP DATETIME、SMALLDATETIME DATE
GMTTIMESTAMP      
INTERVAL      
BLOB BLOB BINARY、VARBINARY、TIMESTAMP、IMAGE、UNIQUEIDENTIFIER RAW LONG、RAW BLOB
BIT      
サポートされていない DATALINK、GRAPHIC、VARGRAPHIC、DBCLOB NTEXT、NCHAR、NVARCHAR NCLOB、BFILE
注:
  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 の開発
関連資料
複合 ESQL 関数
CAST 関数
サポートされる CAST
暗黙のキャスト
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ak05730_