一般に、DML ステートメントは高い移植性を持ちます。 SELECT、 INSERT、 UPDATE、および DELETE ステートメントは、 IBM リレーショナル・データベース製品すべてで同様に使用されます。ほとんどのアプリケーションは主として、 DB2 コネクト・プログラムがサポートしている DML SQL ステートメントを使用します。
数値データが DB2 ユニバーサル・データベースに転送されると、データ・タイプが変更されることがあります。数値およびゾーン 10 進数 SQLTYPE (DB2 ユニバーサル・データベース (AS/400 版) でサポート) は、固定 (パック) 10 進数 SQLTYPE に変換されます。
混合バイト・データは、同一の列にある拡張 UNIX コード (EUC) 文字セット、 2 バイト文字セット (DBCS)、および 1 バイト文字セット (SBCS) の文字からなります。 EBCDIC でデータを保管するシステム (OS/390、OS/400、VSE、および VM) では、シフトアウト文字とシフトイン文字により 2 バイト・データの始点と終点がマークされます。データを ASCII 形式で保管するシステム (OS/2 および UNIX など) では、シフトイン文字およびシフトアウト文字は必要ありません。
アプリケーションが混合バイト・データを ASCII システムから EBCDIC システムに転送する場合、シフト文字を入れる余地を確保してください。それぞれのデータを SBCS データから DBCS データへ切り替える際に、データ長に 2 バイトが追加されます。移植性を高めるためには、混合バイト・データを使用するアプリケーションにおいて可変長文字ストリングを使用してください。
長フィールド (254 文字より長いストリング) は、別のシステムでは扱いが異なります。 AS/400 サーバーでは長形式フィールドにはスカラー関数のサブセットしかサポートしていません。たとえば、DB2 ユニバーサル・データベース (OS/390 版) では長形式フィールドには LENGTH および SUBSTR 関数しか使用できません。また、AS/400 サーバーでは特定の SQL ステートメントに対して異なる処理が必要になります。たとえば、DB2 (VSE および VM 版) では INSERT ステートメントにはホスト変数、SQLDA、またはヌル値しか使用できません。
LOB データ・タイプは DB2 コネクトによってサポートされます。
DB2 コネクトは、ユーザー定義特殊タイプをサポートしています。抽象データ・タイプはサポートしていません。
ROWID データ・タイプは、 DB2 コネクトによってビット・データ用の VARCHAR として扱われます。
8 バイト (64 ビット) 整数は、DB2 コネクトによってサポートされます。 BIGINT 内部データ・タイプは、データの精度を保ちながら大規模データベースのカーディナリティーをサポートするために使われます。