Как я могу скомпоновать оператор 2 LIKE как 1 для запроса ниже?SQLite wildcard% с пробелом
выберите * от студентов, где имя LIKE 'абв%' ИЛИ имя как '% ABC%'
Обратите внимание, "" пробел после% подстановочные в секунду, как оператора перед 'ABC'.
Как я могу скомпоновать оператор 2 LIKE как 1 для запроса ниже?SQLite wildcard% с пробелом
выберите * от студентов, где имя LIKE 'абв%' ИЛИ имя как '% ABC%'
Обратите внимание, "" пробел после% подстановочные в секунду, как оператора перед 'ABC'.
Для большинства баз данных оператор LIKE
имеет довольно ограниченное соответствие шаблонов (особенно если вы привыкли к сопоставлению шаблонов регулярных выражений). SQLite, насколько я могу судить, подходит для этого описания. Ни один LIKE
шаблон может делать то, что вы описываете.
SQLite3 поддерживает 'REGEXP', который _can_ обрабатывает логику OP в одном выражении, хотя, к сожалению, это невозможно на Android, который не поддерживает определенные пользователем функции. –
Просто убедитесь, что все строки имеют это пространство:
SELECT * FROM students WHERE ' ' || name LIKE '% abc%';
Да, я был слишком узко сфокусирован на вопросе, заданном вопросом. Это лучший ответ с практической точки зрения. –
SQLite3 не поддерживает 'REGEXP' хотя это требует определенной пользователем функции, что не возможно на Android. Следовательно, ваш текущий запрос, вероятно, лучший, что вы можете сделать. –