2

たとえば、列「例」NUMBER(5,2) を持つテーブルがあります。正しければ、最大入力値は 999,99 です。
その列に格納できるクエリ値を取得することは可能ですか? 任意の SQL クエリまたは Java API によるものでしょうか?

4

3 に答える 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 に答える