SQLITE не учитывает регистр для оператора LIKE для русских символов.
Например у вас в базе есть, некоторое значение "тестовая строка";
Если вы напишите такой код : SELECT * FROM FOO WHERE str LIKE('%Тестовая строка');
результат запроса будет - 0;
Известные решения:
Например у вас в базе есть, некоторое значение "тестовая строка";
Если вы напишите такой код : SELECT * FROM FOO WHERE str LIKE('%Тестовая строка');
результат запроса будет - 0;
Известные решения:
- Использовать расширение, которое уже есть стандартно - FTS3. Создание специальных виртуальных таблиц с поддержкой поиска и использование оператора MATCH
- Создать в вашей таблице еще один столбец(нормализованный), который будет содержать ту же инфу по которой вам нужно провести поиск, только в верхнем(или нижнем) регистре и делать LIKE по этому столбцу, но результат возвращать по обычному столбцу
Комментариев нет:
Отправить комментарий