次の方法で共有


getTypeInfo メソッド (SQLServerDatabaseMetaData)

JDBC ドライバーのダウンロード

現在のデータベースによってサポートされる、すべての標準 SQL 型に関する記述を取得します。

構文

  
public java.sql.ResultSet getTypeInfo()  

戻り値

SQLServerResultSet オブジェクトです。

例外

SQLServerException

解説

この 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 クラス