Java 将整数值美化为字符串进行比较

Java 将整数值美化为字符串进行比较,java,string,integer,hql,string-comparison,Java,String,Integer,Hql,String Comparison,出于某种原因,我需要将我的整数值作为字符串输入数据库,然后我想对它们运行查询,并将这些整数作为字符串进行比较。有没有办法美化整数(比如说10亿到10亿之间的整数),这样我就可以将它们作为字符串进行比较 提前感谢。只需添加必要的前导零即可 所以数字1,2,3变成字符串形式:000000000100000020000000003 这样字符串比较就正确了 在java中,您将使用: String.format("%09d", number); 有9个前导零。另一个选项是修改查询,将字符串值转换回整

出于某种原因,我需要将我的整数值作为字符串输入数据库,然后我想对它们运行查询,并将这些整数作为字符串进行比较。有没有办法美化整数(比如说10亿到10亿之间的整数),这样我就可以将它们作为字符串进行比较


提前感谢。

只需添加必要的前导零即可

所以数字1,2,3变成字符串形式:000000000100000020000000003 这样字符串比较就正确了

在java中,您将使用:

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

有9个前导零。

另一个选项是修改查询,将字符串值转换回整数。(下面的Pseudcode可能无法编译/工作于您的数据库)


这样做的一个问题是,因为它在每一行上运行一个函数,数据库将无法使用在
某些表上定义的任何索引。int\u column\u存储为\u string

你说的美化是什么意思?你说的miliard是什么意思?;-)在一些欧洲语言中,10^9是一个通用术语(当然是法语)——我们在欧洲历史上使用10^12作为10亿。试着对你想做的事情多描述一点。另外,你的意思是通过计算机(a>b)还是通过视觉进行比较?我只是问你,因为你用了“美化”这个词。请提供一些“美化”的例子。谢谢,我要看看这个。
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);