在SQL中将Asterisk(*)替换为“ anything”

时间:2019-01-13 02:13:57

标签: sql regex variables replace

我的数据库中有大量的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下不起作用。

1 个答案:

答案 0 :(得分:1)

您想要like。要么:

where url like '%checkout/%/complete%'

以获取与其模式匹配的网址。或者:

where url not like '%checkout/%/complete%'

获取其他网址。