あるエレメントを別のエレメント、変数、あるいは定数と比較する場合、エレメントを比較する対象である値が一貫したものであることを確認してください (例えば、文字と文字を比較)。 値が一貫していない場合には、暗黙のキャストを提供して不整合を解決できないとブローカーは実行時エラーを生成します。 サポートされている暗黙のキャストの詳細については、暗黙のキャストを参照してください。
CAST 関数を使用して、ある値のデータ・タイプを別のデータ・タイプに変換できます。 例えば、汎用 XML メッセージを処理する際には CAST 関数を使用できます。 XML メッセージ内のすべてのフィールドには文字値があるので、例えば、算術計算や日時比較を実行したい場合には、そのフィールドのストリング値を CAST を使用して適切なタイプの値に変換する必要があります。
Invoice メッセージでは、「InvoiceDate」フィールドには送り状の日付が含まれています。 このフィールドを参照または操作する場合、まず適切な形式にキャスト (CAST) する必要があります。 例えば、テストでこのフィールドを参照するには、次のようにします。
IF CAST(Body.Invoice.InvoiceDate AS DATE) = CURRENT_DATE THEN
これにより、「InvoiceDate」フィールドのストリング値は日付値の変換され、現在日付と比較されます。
別の例は、整数から文字にキャストするものです。
DECLARE I INTEGER 1; DECLARE C CHARACTER; -- The following statement generates an error SET C = I; -- The following statement is valid SET C = CAST(I AS CHARACTER);