我的数据库中有大量的URL,并希望通过用户定义的字符串来过滤它们,格式为[]
,其中something/*/something
代表“任何”。因此,当用户定义*
时,这意味着它会过滤掉类似url的内容:
checkout/*/complete
等
如何在SQL中做到这一点?还是应该过滤掉所有结果并使用PHP来完成这项工作?
我的SQL请求现在是
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
这会过滤掉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
下不起作用。
答案 0 :(得分:1)
您想要like
。要么:
where url like '%checkout/%/complete%'
以获取与其模式匹配的网址。或者:
where url not like '%checkout/%/complete%'
获取其他网址。