mysql在列包含指针时查找子字符串

yduiuuwa  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(283)

如果数据库包含指针,如何在数据库中查找字符串?
例如,我有字符串:“www.example.com/test"
我的数据库列urlcolumn包含:“www.example.com"
如果我执行以下操作(伪):

SELECT * FROM db WHERE urlColumn LIKE '%www.example.com/test%'

我没有结果。如果我将其更改为(伪):

SELECT * FROM db WHERE urlColumn LIKE '%www.example.com%'

它起作用了。like之后的元素一定是针而不是草堆,这是真的吗?是否可以这样做(伪):

SELECT * FROM db WHERE %urlColumn% LIKE 'www.exmaple.com/test'
s3fp2yjn

s3fp2yjn1#

如果输入字符串可以视为 hayStack 然后您可以使用下面给出的查询:

SELECT * FROM db WHERE 'www.example.com/test' LIKE CONCAT('%',urlColumn,'%');

更多:
还有另一种方法可以动态地确定应该将哪个字符串视为 HayStack 应该被视为 Needle .
下面是一个简单的演示:

SET @hayStack := 'www.example.com';
SET @needle := 'www.example.com/test';

SELECT 

IF(LENGTH(@hayStack) > LENGTH(@needle), 
    @hayStack LIKE CONCAT('%',@needle,'%'),
    @needle LIKE CONCAT('%',@hayStack,'%')
)

相关问题