2017-02-17 4 views
1

Как я могу скомпоновать оператор 2 LIKE как 1 для запроса ниже?SQLite wildcard% с пробелом

выберите * от студентов, где имя LIKE 'абв%' ИЛИ ​​имя как '% ABC%'

Обратите внимание, "" пробел после% подстановочные в секунду, как оператора перед 'ABC'.

+1

SQLite3 не поддерживает 'REGEXP' хотя это требует определенной пользователем функции, что не возможно на Android. Следовательно, ваш текущий запрос, вероятно, лучший, что вы можете сделать. –

ответ

1

Для большинства баз данных оператор LIKE имеет довольно ограниченное соответствие шаблонов (особенно если вы привыкли к сопоставлению шаблонов регулярных выражений). SQLite, насколько я могу судить, подходит для этого описания. Ни один LIKE шаблон может делать то, что вы описываете.

+0

SQLite3 поддерживает 'REGEXP', который _can_ обрабатывает логику OP в одном выражении, хотя, к сожалению, это невозможно на Android, который не поддерживает определенные пользователем функции. –

1

Просто убедитесь, что все строки имеют это пространство:

SELECT * FROM students WHERE ' ' || name LIKE '% abc%'; 
+0

Да, я был слишком узко сфокусирован на вопросе, заданном вопросом. Это лучший ответ с практической точки зрения. –

 Смежные вопросы

  • Нет связанных вопросов^_^