javaのカラムのタイプを取得したいと思います。
私はそのように実行します。getColumnTypeが数値型で機能しないのはなぜですか?
ResultSetMetaData rsmd = rs.getMetaData();
int type = 0;
for (int i = 0; i < rsmd.getColumnCount(); i++) {
type = rsmd.getColumnType(i);
if (type == Types.VARCHAR) {
System.out.println("str");
} else if (type == Types.INTEGER){
System.out.println("int");
}
}
このコードは、文字列のために動作しますが、それはSQLでnumber
タイプには使用できません。
the list of typesにも数字タイプはありませんか? どうすれば問題を解決できますか?
EDIT
Types.NUMERIC
はswitch文を使って、
私は間違っていない場合は、[ 'Types.NUMERIC'](http://docs.oracle.com/javase/8/docs/api/java/sql/Types.html#NUMERIC)がありますあなたが探しているもの。 – Mureinik
どのDBMSおよびJDBCドライバを使用していますか?そして、データベースの型定義は何ですか? –
'Types.NUMERIC'はif条件では機能しませんが、正しい答えです – mafioso