たとえば、列「例」NUMBER(5,2) を持つテーブルがあります。正しければ、最大入力値は 999,99 です。
その列に格納できるクエリ値を取得することは可能ですか? 任意の SQL クエリまたは Java API によるものでしょうか?
質問する
336 次
3 に答える
2
これを試して
ResultSet rs = ...
ResultSetMetaData md = rs.getMetaData();
int precision = md.getPrecision(column);
int scale = md.getScale(column);
于 2013-01-24T10:21:01.013 に答える
1
精度とスケールの値がすでにある場合は、次のように最大値を計算できるはずです。
int precision = 5;
int scale = 2;
double maxValue = (Math.pow(10, precision) - 1) / Math.pow(10, scale);
精度とスケールの値がわからない場合は、データベースメタデータをクエリできます。
ResultSet rs = conn.getMetaData().getColumns("", "%", "{TABLENAME}", "{COLUMNNAME}");
if(!rs.next()) {
// unknown table/column
}
int precision = rs.getInt("COLUMN_SIZE");
int scale = rs.getInt("DECIMAL_DIGITS");
于 2013-01-24T10:31:26.700 に答える
0
select max(column_name) as 'Max_number' from table_name
于 2013-01-24T10:14:20.140 に答える