用getString()取Oracle中的number字段,前置0会自动去掉

Java操作Oracle数据库时,当使用rs.getStirng()取数据库里number型字段时,若是小数,小数点前的0会丢掉

如数据库中存储的是0.1,但用rs.getString()后就变成.1啦。

解决方法:

double number=  Double.parseDouble(rs.getString("total"));

如果您使用的是 Oracle 数据库,并且在表的字段定义添加了文注释,那么在使用 JDBC API 获列名时,返回文注释而不是字段名。 这是因为 Oracle 数据库,列名和列注释是分开存储的。JDBC API 获列名时,使用的是 `ALL_TAB_COLUMNS` 视图,而该视图的 `COLUMN_NAME` 列对应的是列的注释,而不是列名。如果您需要获列名而不是注释,可以使用 `ALL_TAB_COLS` 视图,该视图的 `COLUMN_NAME` 列对应的是列名。 以下是一些示例代码: ```java // 假设您已经连接到了数据库,使用了 PreparedStatement 执行 SQL 查询 PreparedStatement statement = connection.prepareStatement("SELECT * FROM my_table"); // 获 ResultSetMetaData 对象,使用它来获列名 ResultSetMetaData metaData = statement.getMetaData(); int columnCount = metaData.getColumnCount(); for (int i = 1; i <= columnCount; i++) { // 使用 ALL_TAB_COLS 视图获列名 String columnName = metaData.getTableName(i) + "." + metaData.getColumnName(i); // 处理列名,比如输出到控制台 System.out.print(columnName + "\t"); } System.out.println(); // 遍历查询结果数据 ResultSet resultSet = statement.executeQuery(); while (resultSet.next()) { // 使用 ResultSet 对象获数据,可以使用列名或者列的索引 String column1Data = resultSet.getString("column1"); int column2Data = resultSet.getInt(2); // 处理数据,比如输出到控制台 System.out.println(column1Data + "\t" + column2Data); } // 记得关闭 ResultSet 和 PreparedStatement 对象 resultSet.close(); statement.close(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值