Как я могу передать вопросительный знак подготовленного оператора в оператор SQL LIKE?
LIKE '&? &', Но знак вопроса будет переданным параметром из подготовленного оператора.
Делайте это в коде Java, а не в SQL.
String sql = "SELECT * FROM mytable WHERE mycolumn LIKE ?"; try (PreparedStatement stmt = conn.prepareStatement(sql)) { stmt.setString(1, "%" + value + "%"); try (ResultSet rs = stmt.executeQuery()) { // code here } }
Вы можете использовать выражение.Например, в ANSI SQL:
where col like '%' || ? || '%'
Некоторые базы данных используют concat() или + вместо (или в дополнение к) ||.
concat()
+
||