代入での暗黙的 CAST

値は、次の 3 つのエンティティーのいずれか 1 つに代入できます。
メッセージ・フィールド (あるいは、例外リストまたは宛先リスト内の同等のもの)
WebSphere Message Broker データ・タイプとメッセージ (ビット・ストリーム形式) との間の暗黙的変換のサポートは、該当するパーサーに依存しています。例えば、XML パーサーは、WebSphere MQ メッセージへの挿入を行う前に、すべてを文字ストリングとしてキャストします。
データベース表内のフィールド

WebSphere Message Broker は、次の表で説明されているとおり、各データ・タイプを適切な標準 SQL C データ・タイプに変換します。この標準 SQL C データ・タイプと各 DBMS によってサポートされるデータ・タイプとの間の変換は、DBMS に依存しています。詳細については、DBMS の資料を調べてください。

以下の表には、WebSphere Message Broker から SQL データ・タイプへの可能な変換がリストされています。

WebSphere Message Broker データ・タイプ SQL データ・タイプ
NULL、あるいは不明値または無効値 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 サポートされていない 2
BLOB SQL_C_BINARY
BIT サポートされていない 2
注 :
  1. 便宜的に、DECIMAL 値は文字形式で DBMS に渡されます。
  2. INTERVAL または BIT には、適切な標準 SQL C データ・タイプはありません。これらをデータベース・フィールドに代入する必要がある場合は、これらを別のデータ・タイプ (CHARACTER など) にキャストしなければなりません。
スカラー変数
スカラー変数に代入する場合、代入する値のデータ・タイプとターゲット変数データ・タイプのデータ・タイプが異なる場合は、明示的 CAST 関数に指定されているのと同じ制約事項と動作で、暗黙的キャストが試行されます。唯一の例外は、変数のデータ・タイプが INTERVAL または DECIMAL の場合です。

どちらの場合も、代入される値はまず CHARACTER 値にキャストされ、CHARACTER 値の INTERVAL または DECIMAL へのキャストが試行されます。INTERVAL は修飾子を必要とし、DECIMAL は精度と位取りを必要とするためです。これらは、明示的キャストで指定する必要がありますが、暗黙的キャストにおいては文字ストリングから獲得する必要があります。したがって、INTERVAL 変数への暗黙的キャストが実行されるようにする場合、文字ストリングの形式は INTERVAL '<values>' <qualifier> でなければならないという制約が加わります。明示的 CAST で許容される短縮された <values> という形式は、暗黙的キャストでは許容されません。

関連概念
ESQL の概要
関連タスク
ESQL の開発
関連資料
複合 ESQL 関数
暗黙のキャスト
比較のための暗黙的 CAST
算術演算のための暗黙的 CAST
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ak05720_