Подготовлено заявление на Java С содержится запрос
У меня есть поисковый запрос, который должен искать столбец в таблице с помощью contains search. В столбце есть индекс типа ctxsys. context. При извлечении данных из таблицы с помощью подготовленного оператора поисковый запрос не может обрабатывать специальные символы, такие как -,/, _ и т. д.
Вот мой код -
String query = " select * from parties where contains (party_name,'%'|/? || '%')";
PreparedStatement ps = con. prepareStatement(запрос);
ps. setString(1, searchName);
Код отлично работает для текста, в котором нет специальных символов.
Когда я запускаю нижеприведенный запрос в sqlDeveloper, он работает нормально .
выберите * из сторон, где содержится (party_name,'c/o')> 0;
Пожалуйста, предложите, какие изменения я должен внести в подготовленное заявление, чтобы оно работало и для специальных символов.
Что я уже пробовал:
Я попытался изменить код следующим образом, но ни один из них не сработал-
String query = " select * from parties where contains (party_name,'|/? ||')";
String query = " select * from parties where contains (party_name,?)";
String query = " select * from parties where contains (party_name ,|/? ||)";
String query = " select * from parties where contains (party_name,'?')";