現在のデータベースによってサポートされる、すべての標準 SQL 型に関する記述を取得します。
構文
public java.sql.ResultSet getTypeInfo()
戻り値
SQLServerResultSet オブジェクトです。
例外
解説
この getTypeInfo メソッドは、java.sql.DatabaseMetaData インターフェイスの getTypeInfo メソッドで規定されています。
getTypeInfo メソッドによって返される結果セットには、次の情報が含まれます。
| 名前 | 種類 | 説明 |
|---|---|---|
| TYPE_NAME | String | データ型の名前です。 |
| DATA_TYPE | short | java.sql.Types の SQL データ型です。 |
| PRECISION | int | 有効桁数の合計です。 |
| LITERAL_PREFIX | String | 定数の先頭に記述する文字または文字列です。 |
| LITERAL_SUFFIX | String | 定数の末尾に記述する文字または文字列です。 |
| CREATE_PARAMS | String | データ型の作成パラメーターの記述です。 |
| NULLABLE | short | 列に null 値を含めることができるかどうかを示します。 次のいずれかの値を指定できます。 typeNoNulls (0) typeNullable (1) typeNullableUnknown (2) |
| CASE_SENSITIVE | boolean | データ型の大文字と小文字を区別するかどうかを示します。 大文字と小文字を区別する場合は "true"、区別しない場合は "false" です。 |
| 検索可能 | short | 列を SQL の WHERE 句で使用できるかどうかを示します。 次のいずれかの値を指定できます。 typePredNone (0) typePredChar (1) typePredBasic (2) typeSearchable (3) |
| UNSIGNED_ATTRIBUTE | boolean | データ型の符号を示します。 符号なしの場合は "true"、符号ありの場合は "false" です。 |
| FIXED_PREC_SCALE | boolean | データ型に money 値を指定できるかどうかを示します。 money 型の場合は "true"、それ以外の場合は "false" です。 |
| AUTO_INCREMENT | boolean | データ型を自動インクリメントできるかどうかを示します。 自動インクリメントできる場合は "true"、それ以外の場合は "false" です。 |
| LOCAL_TYPE_NAME | String | データ型のローカライズされた名前です。 |
| MINIMUM_SCALE | short | 小数点以下の最大桁数です。 |
| MAXIMUM_SCALE | short | 小数点以下の最小桁数です。 |
| SQL_DATA_TYPE | int | JDBC ドライバーではサポートされていません。 |
| SQL_DATETIME_SUB | int | JDBC ドライバーではサポートされていません。 |
| NUM_PREC_RADIX | int | 列が保持できる最大数を計算する場合のビット数または桁数です。 |
| INTERVAL_PRECISION | smallint | 期間の先頭の有効桁数の値です。 |
| USERTYPE | smallint | systypes テーブルから usertype の値が返されます。 詳細については、SQL Server オンライン ブックを参照してください。 |
Note
getTypeInfo メソッドによって返されるデータの詳細については、SQL Server オンライン ブックの「sp_datatype_info (Transact-SQL)」を参照してください。
例
次の例では、getTypeInfo メソッドを使用して、SQL Server 2005 (9.x) 以降のデータベースで使用されるデータ型に関する情報を返す方法を示します。
public static void executeGetTypeInfo(Connection con) {
try {
DatabaseMetaData dbmd = con.getMetaData();
ResultSet rs = dbmd.getTypeInfo();
ResultSetMetaData rsmd = rs.getMetaData();
// Display the result set data.
int cols = rsmd.getColumnCount();
while(rs.next()) {
for (int i = 1; i <= cols; i++) {
System.out.println(rs.getString(i));
}
}
rs.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
参照
SQLServerDatabaseMetaData のメソッド
SQLServerDatabaseMetaData のメンバー
SQLServerDatabaseMetaData クラス