ResultSetMetaData.getColumnName および ResultSetMetaData.getColumnLabel の値の例

IBM® Data Server Driver for JDBC and SQLJ バージョン 4.0 以降の場合、 ResultSetMetaData.getColumnName および ResultSetMetaData.getColumnLabel のデフォルトの動作は、以前の JDBC ドライバーのデフォルトの動作とは異なります。 この動作は、useJDBC4ColumnNameAndLabelSemantics プロパティーを使用して変更することができます。

以下の例は、 useJDBC4ColumnNameAndLabelSemantics プロパティーが設定されていない場合に、 IBM Data Server Driver for JDBC and SQLJ バージョン 4.0、および以前の JDBC ドライバーに対して戻される値を示しています。

すべての照会は、次のように定義されている表を使用します。
CREATE TABLE MYTABLE(INTCOL INT)
例: 次の照会には AS 節が含まれます。これは、結果セット内の列のラベルを定義するものです。
SELECT MYCOL AS MYLABEL FROM MYTABLE

次の表は、照会について戻される ResultSetMetaData.getColumnName および ResultSetMetaData.getColumnName の値をリストしています。

表 1. ResultSetMetaData.getColumnName and ResultSetMetaData.getColumnName before and after IBM Data Server Driver for JDBC and SQLJ バージョン 4.0 (AS 節を持つ照会の場合)
ターゲットのデータ・ソース IBM Data Server Driver for JDBC and SQLJ バージョン 4.0 より前の動作 IBM Data Server Driver for JDBC and SQLJ バージョン 4.0 以降の動作
getColumnName 値 getColumnLabel 値 getColumnName 値 getColumnLabel 値
Linux®、UNIX、および Windows システム上のDb2® MYLABEL MYLABEL MYCOL MYLABEL
IBM Informix® MYLABEL MYLABEL MYCOL MYLABEL
Db2 for z/OS® バージョン 8 以降、および Db2 for IBM i V5R3 およびそれ以降 MYLABEL MYLABEL MYCOL MYLABEL
Db2 for z/OS バージョン 7、および Db2 for IBM i V5R2 MYLABEL MYLABEL MYLABEL MYLABEL
例: 次の照会には AS 節が含まれていません。
SELECT MYCOL FROM MYTABLE

照会に対する ResultSetMetaData.getColumnName および ResultSetMetaData.getColumnLabel メソッドは、ターゲット・データ・ソースに関係なく MYCOL を戻します。

例: Db2 for z/OS または Db2 for IBM i データ・ソースでは、列のラベルを定義するために LABEL ON ステートメントが使用されます。
LABEL ON COLUMN MYTABLE.MYCOL IS 'LABELONCOL'
次の照会には AS 節が含まれます。これは、ResultSet 内の列のラベルを定義するものです。
SELECT MYCOL AS MYLABEL FROM MYTABLE

次の表は、照会について戻される ResultSetMetaData.getColumnName および ResultSetMetaData.getColumnName の値をリストしています。

表 2. ResultSetMetaData.getColumnName and ResultSetMetaData.getColumnName before and after IBM Data Server Driver for JDBC and SQLJ バージョン 4.0 (AS 節を指定した照会で LABEL ON ステートメントを指定した表列の場合)
ターゲットのデータ・ソース IBM Data Server Driver for JDBC and SQLJ バージョン 4.0 より前の動作 IBM Data Server Driver for JDBC and SQLJ バージョン 4.0 以降の動作
getColumnName 値 getColumnLabel 値 getColumnName 値 getColumnLabel 値
Db2 for z/OS バージョン 8 またはそれ以降、および Db2 for IBM i V5R3 以降 MYLABEL LABELONCOL MYCOL MYLABEL
Db2 for z/OS バージョン 7、および Db2 for IBM i V5R2 MYLABEL LABELONCOL MYCOL LABELONCOL
例: Db2 for z/OS または Db2 for IBM i データ・ソースでは、列のラベルを定義するために LABEL ON ステートメントが使用されます。
LABEL ON COLUMN MYTABLE.MYCOL IS 'LABELONCOL'
次の照会には AS 節が含まれていません。
SELECT MYCOL FROM MYTABLE

次の表は、照会について戻される ResultSetMetaData.getColumnName および ResultSetMetaData.getColumnName の値をリストしています。

表 3. ResultSetMetaData.getColumnName and ResultSetMetaData.getColumnName before and after IBM Data Server Driver for JDBC and SQLJ バージョン 4.0 (AS 節のない照会で LABEL ON ステートメントが指定された表列の場合)
ターゲットのデータ・ソース IBM Data Server Driver for JDBC and SQLJ バージョン 4.0 より前の動作 IBM Data Server Driver for JDBC and SQLJ バージョン 4.0 の動作
getColumnName 値 getColumnLabel 値 getColumnName 値 getColumnLabel 値
Db2 for z/OS バージョン 8 またはそれ以降、および Db2 for IBM i V5R3 以降 MYCOL LABELONCOL MYCOL MYCOL
Db2 for z/OS バージョン 7、および Db2 for IBM i V5R2 MYCOL LABELONCOL MYLABEL LABELONCOL