可以通过查询列中的最大输入NUMBER值获取?

时间:2013-01-24 10:12:33

标签: java database oracle

例如,我有一个表格,其中列“示例”为NUMBER(5,2),如果我正确 - 最大输入值为999,99。
可以通过查询值获取可以存储在该列中的值吗?可以是任何SQL查询还是java api?

3 个答案:

答案 0 :(得分:2)

试试这个

    ResultSet rs = ...
    ResultSetMetaData md = rs.getMetaData();
    int precision = md.getPrecision(column);
    int scale = md.getScale(column);

答案 1 :(得分: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");

答案 2 :(得分:0)

select max(column_name) as 'Max_number' from table_name