我在使用数字字符串以0开头作为参数值时遇到了一些问题,查询如下所示:
pstmt = con.prepareStatement("select count(*) from tbl_mer_info where mer_code =?");
pstmt.setString(1,"0825");
ResultSet rs=pstmt.executeQuery();
但不幸的是结果集是空的,它没有按预期结果。 仅供参考:我使用Oracle作为数据库,表格如下:
tbl_mer_info: column_1, column_2, mer_code(CHAR(15 BYTE)
我找到了一些可行的替代解决方案,但我无法理解解决方案1的工作原理,但上述解决方案不起作用。谁能帮我?提前谢谢。
解决方案1:
pstmt = con.prepareStatement("select count(*) from tbl_mer_info where mer_code like ?");
pstmt.setString(1,"0825%");
解决方案2:
String str="select count(*) from tbl_mer_info where mer_code ='0825'";
PreparedStatement pstmt = con.prepareStatement(str);