Как сделать запрос с поиском по шаблону в Rails или SQL?
У меня есть таблица в которой есть pattern для поиска файлов, например:
table.pattern='file_1'
Мне приходит файл file_1_2018-12-08.xlsx
Как сделать запрос, чтобы я отдал полное название файла, и мне выдались все строки, у которых значение "file_1" содержится в названии файла?
Я понимаю как сделать если бы в значении строки было название файла, а я по шаблону нахожу нужную строку. это легко. Но надо сделать наоборот.
P.S. У меня проект на Rails. Но если напишите чистый SQL-код, то тоже приветствуется)
P.P.S Как я делаю сейчас:
Я перебираю все строки в таблице и просто сравниваю подходит ли под шаблон? Получается мне для одного файла необходимо перебрать все строки и сделать сравнения равные кол-ву строк. Это ужасно и хочется сделать правильно, но как выполнить запрос не понимаю.
Роман Мирр, Одна модель: loader. Точнее моделей в проекте много, но они не связаны с этой.
атрибуты: pattern_filename и другие, которые так же в этом процессе не участвуют.
Пример данных:
id = 1, pattern_filename = 'file_1';
id = 2, pattern_filename = 'file_2';
id = 3, pattern_filename = 'file_3';
Мы получаем файл с именем test_file_1_2018-12-08.xlsx. Нужно сделать запрос, чтобы вывести все строки, у которых pattern_filename = 'file_1'.
Получается нужны все строки, у которых шаблон содержится в передаваемом названии файла.
Table.where(":filename like concat('%%', pattern, '%%')", filename: 'filename4.xls')
# SELECT "tables".* FROM "tables" WHERE ('filename4.xls' like concat('%%', pattern, '%%'))