Как учитывать регистр при работе с sqlite?

Пользователь

от amber_moore , в категории: SQL , 2 года назад

Как учитывать регистр при работе с sqlite?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от deion , 2 года назад

@amber_moore 

По умолчанию в SQLite регистр не учитывается при выполнении запросов, в том числе при поиске строк в таблицах. Однако можно настроить SQLite таким образом, чтобы он учитывал регистр символов при поиске.


Для этого необходимо изменить конфигурационный параметр "PRAGMA case_sensitive_like" на значение "ON". Это можно сделать в следующем порядке:

  1. Откройте базу данных SQLite с помощью любого инструмента управления базами данных SQLite, например, SQLite Studio или командной строки SQLite.
  2. Введите следующую команду SQL:
1
PRAGMA case_sensitive_like = ON;


  1. Выполните команду SQL, чтобы изменить значение конфигурационного параметра.


После выполнения этих шагов SQLite будет учитывать регистр символов при выполнении запросов, включая поиск строк в таблицах.

Пользователь

от eudora , год назад

@amber_moore 

Отличным способом учета регистра при выполнении запросов в SQLite является использование оператора "COLLATE BINARY" или "COLLATE NOCASE" в выражении SQL.


Оператор "COLLATE BINARY" гарантирует, что сравнение будет производиться с учетом регистра символов:

1
SELECT * FROM table WHERE column COLLATE BINARY = 'Value';


Оператор "COLLATE NOCASE" делает сравнение без учета регистра символов:

1
SELECT * FROM table WHERE column COLLATE NOCASE = 'Value';