Подготовленный оператор как параметр sql - PullRequest
0 голосов
/ 07 мая 2018

Как я могу передать вопросительный знак подготовленного оператора в оператор SQL LIKE?

LIKE '&? &', Но знак вопроса будет переданным параметром из подготовленного оператора.

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Делайте это в коде 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
    }
}
0 голосов
/ 07 мая 2018

Вы можете использовать выражение.Например, в ANSI SQL:

where col like '%' || ? || '%'

Некоторые базы данных используют concat() или + вместо (или в дополнение к) ||.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...