2

出于某种原因,我需要将整数值作为字符串输入数据库,然后我想对它们运行查询并将这些整数作为字符串进行比较。有什么方法可以美化整数(以 1 到 1 亿美元为例),以便我可以将它们作为字符串进行比较?

提前致谢。

4

2 回答 2

3

只需根据需要添加尽可能多的前导零

所以数字 1,2,3 变为字符串形式:0000000001, 0000000002, 0000000003 这样字符串比较就正确了

在java中你会使用:

 String.format("%09d", number); 

有 9 个前导零。

于 2010-06-10T13:39:11.467 回答
0

另一种选择是修改您的查询以将字符串值转换回整数。(下面的伪代码,可能无法为您的数据库编译/工作)

String sql = " SELECT * "
+ " FROM some_table "
+ " WHERE CAST(some_table.int_column_stored_as_string AS INTEGER) = ?";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setInteger(1, myIntValue);

这样做的一个问题是,因为它在每一行上运行一个函数,数据库将无法使用在some_table.int_column_stored_as_string.

于 2010-06-10T15:10:37.890 回答