Замените звездочку (*) на что-нибудь в SQL
83
3
У меня есть тонна URL в моей базе данных, и я хочу отфильтровать их по определенной пользователем строке в формате something/*/something
, где *
означает "что-нибудь". Поэтому, когда пользователь определяет checkout/*/complete
, это означает, что он отфильтровывает url следующим образом:
http://my_url.com/checkout/15/complete
http://my_url.com/checkout/85/complete
http://my_url.com/checkout/something/complete
http://my_url.com/super/checkout/something/complete
и т.п.
Как мне это сделать в SQL? Или я должен отфильтровать все результаты и использовать PHP, чтобы сделать работу?
Мой SQL-запрос сейчас
SELECT * FROM custom_logs WHERE pn='$webPage' AND id IN ( SELECT MAX(id) FROM custom_logs WHERE action_clicked_text LIKE '%{$text_value_active}%' GROUP BY token ) order by action_timestamp desc
Это отфильтровывает все сообщения журнала с пользовательским текстом в столбце action_clicked_text
, но использует оператор LIKE
, который не будет работать с *
внутри.
спросил(а)
2019-01-13T05:13:00+03:00
2 года назад
добавить комментарий
пожаловаться
Решение
59
Вы хотите, like
. Или:
where url like '%checkout/%/complete%'
чтобы получить URL, которые соответствуют шаблону. Или же:
where url not like '%checkout/%/complete%'
чтобы получить другие URL.
ответил(а)
2019-01-13T05:16:00+03:00
2 года назад
добавить комментарий
пожаловаться
Ваш ответ