У меня есть таблица базы данных SQLite с этой структурой.
data_table
|id| string_id | ...
|1 | 1 | ...
|2 | 1/111-2 | ...
|3 | 2/111-2 | ...
|4 | 2/55-1 | ...
Разделители «/» и «-» используются для данных столбца «string_id».
Когда пользователь вводит «1», результат должен содержать строки с номерами 1,2 и 4. (не должен содержать строки с номером 3)
Когда пользователь вводит 2, результат должен содержать строки с номерами 2,3 и 4.
Мой текущий запрос -
SELECT * FROM data_table WHERE
string_id = "user_value" OR
string_id LIKE "%-user_value" OR
string_id LIKE "%/user_value" OR
string_id LIKE "user_value-%" OR
string_id LIKE "user_value/%" OR
string_id LIKE "%-user_value-%" OR
string_id LIKE "%/user_value/%" OR
string_id LIKE "%-user_value/" OR
string_id LIKE "%/user_value-"
Есть ли другое эффективное и достойное решение для замены этого запроса?