У меня есть таблица, как на следующем рисункеUcanaccessSQLException: UCAExc ::: 3.0.1 тип данных выражения не булево
Мне нужно, чтобы все английские слова, которые содержат его курдский Слово " بةرز»,
Так я не могу использовать
select English from Table1 where Kurdish like '%بةرز%';
, потому что она также принимает слова, которые подстрока в другом слове, как эти, يبلبةرز, سيس بةرز , И когда я пытаюсь использовать регулярные выражения в моем запросе:
query = "SELECT English FROM Table1 WHERE Kurdish REGEXP '^[.، ]*("+"بةرز" +")[ ،.]*$'";
s.execute(query);
он показывает следующее исключение
net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.1 data type of expression is not boolean
Является ли проблема с моим регулярным выражением или что?
Обратите внимание, что i'am с использованием UCanAccess для моего подключения к базе данных
Другим решением может быть использование аналогичного предложения с критериями на основе регулярных выражений (но я не могу сказать, является ли он более или менее элегантным, он просто совместим с доступом и поддерживается как доступом, так и ucanaccess). См. Здесь: http://stackoverflow.com/questions/29583752/regular-expression-matching-when-querying-an-access-database-with-ucanaccess – jamadei
Большое спасибо, он отлично работал с некоторыми изменениями 'ps.setString (1, targetString); ps.setString (2, "^ [.] *" + TargetString + "[] * [: ,,] + [.] * $"); ps.setString (3, "^ [.] * [: ,,] + [] *" + targetString + "[.] * $"); ps.setString (4, "^ [.] * [: ,,] + [] *" + targetString + "[] * [: ,,] + [.] * $"); ' –