是否可以通过匹配模式进行sql查询?我知道sql允许使用通配符,但我认为它们不适合我的用例。
假设我有一个包含以下记录的表(这里用json表示):
表名:url\u stuff
{
id: 2
path: \/user\/(.*)\/
value: "I am the user path"
}
然后假设我有以下表示url路径的字符串:
/user/gandalfthewhite
我想做一个返回此记录的查询。
SELECT * FROM url_stuff WHERE path LIKE '/user/gandalfthewhite'
显然这是行不通的,但是也许有其他方法可以使用sql /user/gandalfthewhite
比赛 \/user\/(.*)\/
与regex一样,返回上述记录。
一种解决方案显然是从数据库中获取所有记录,并在事后通过regex进行搜索,但这对于大量记录来说是不可伸缩的。理想情况下,我可以通过查询直接获取所有匹配的记录。
1条答案
按热度按时间wtzytmuj1#
如果我理解正确,您可以使用regexp: