В MySQL сортировка по умолчанию не чувствительна к регистру.В SQLite это двоичный файл.А в PostgreSQL по умолчанию используется сопоставление, определенное операционной системой для языкового стандарта.
Вы можете принудительно сопоставить регистр без учета регистра, используя lower
:
select a from f where lower(a) = lower('myString')
В PostgreSQL вы также можете использоватьнечувствительный к регистру тип данных для столбца, такой как citext
create table a (f citext);
Другой вариант - использовать ilike
, который игнорирует регистр.(Обратите внимание, что специальные символы должны быть экранированы с ilike
, если вы хотите буквальное совпадение.)
select f from a where f ilike 'myString';
В SQLite вы можете использовать директиву collate nocase
в определении столбца.
create table a (f text collate nocase);
Или в запросе:
select f from a where f = 'myString` collate nocase;