@tamamo

SQLite Как выбрать записи, текстовое поле которых содержит подстроку, регистронезависимо?

База данных SQLite. Есть очень большая таблица, > 200 гигабайт. Как выполнить выбор всех записей, текстовое поле которых, независимо от регистра, содержит указанную подстроку? Например:
+-----------+-------------------------------+
|    key    |    value                      |
+-----------+-------------------------------+
|  1001     |  LoRem ipsum doloR sit amet,  |
|  1005     |  consectetur adipiscing elit, |
|  1021     |  sed do eIUSMod tEMPOr        |
|  1222     |  incididunt ut labORe et      |
+-----------+-------------------------------+

SELECT ..... 'or'

+-----------+-------------------------------+
|    key    |    value                      |
+-----------+-------------------------------+
|  1001     |  LoRem ipsum doloR sit amet,  |
|  1021     |  sed do eIUSMod tEMPOr        |
|  1222     |  incididunt ut labORe et      |
+-----------+-------------------------------+

SELECT ... ' ET'

+-----------+-------------------------------+
|    key    |    value                      |
+-----------+-------------------------------+
|  1222     |  incididunt ut labORe et      |
+-----------+-------------------------------+


UPD. Спасибо огромное за помощь, Akina, mayton2019, pantsarny, вы - лучшие! Использованный мной запрос выглядел так:
SELECT key, value FROM core WHERE UPPER(value) LIKE '%TEXT%';
  • Вопрос задан
  • 252 просмотра
Решения вопроса 3
@pantsarny
where … collate nocase
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Если это одноразовая задача то поищи UPPER(value) LIKE '% ET%'

Если искать надо будет много - то почитай про

CREATE VIRTUAL TABLE .............. USING FTS5 ........
Ответ написан
Комментировать
@Akina
Сетевой и системный админ, SQL-программист.
LIKE регистронезависим.
GLOB регистрозависим.
REGEXP - как напишешь регулярку, так и будет.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы