У меня есть столбец longblob, который хранит текстовые данные для некоторых записей и двоичных данных для других. Моя база данных задана как нечувствительная к регистру. Есть ли способ написать такой выбор
select * from myTable where blobCol like '%example%'
в том смысле, где результат содержит "ПРИМЕР", а также "примерный" текст?
Я действительно не знаю, что "Моя база данных задана как нечувствительная к регистру" означает в вашем случае, но если вы хотите использовать регистр, нечувствительный к регистру, то я думаю, что наилучшая практика заключается в преобразовании строк в нижний регистр, а затем сравните его:
select * from myTable where LOWER(blobCol) like '%example%'
Этот код найдет все следующие строки: пример, пример, пример,... ПРИМЕР
UPDATE: я добавил также преобразование из blob в текст по запросу:
select * from myTable where LOWER( CONVERT(blobCol USING utf8) ) like '%example%'