Я столкнулся с некоторыми проблемами, когда использование числовой строки начинается с 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);