在preparedstatement中使用数字字符串以0开头

时间:2018-05-07 02:43:07

标签: java sql oracle

我在使用数字字符串以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);

0 个答案:

没有答案