gpt4 book ai didi

mysql - 检查一列的值是否包含另一列的值

转载 作者:可可西里 更新时间:2023-11-01 07:11:11 31 4
gpt4 key购买 nike

我有一个包含 java 包名称的表:

|id|pkg|
|1 |some.long.package.path|
|2 |com.admob.bla|

以及包含来自已知广告框架的部分包名称的表格。

|id|path_fragment|
|1 |.admob |

如何检索 pkg 值包含任何 ad_frameworks.path_fragment 的包?

我只是找不到子字符串检查。我只发现人们使用 like 来与某些字符串文字进行比较,但从不用于比较列。

注意:我正在使用 MySQL。

最佳答案

认为你可以用一个 like 做一个内部连接

select p.id, p.pkg
from package p
inner join ad_frameworks adf on p.pkg like CONCAT('%', adf.path_fragment, '%')
--group by p.id, p.pkg

或者如你所指

select * 
from package p
inner join ad_frameworks adf on LOCATE(adf.fragment, p.pkg) > 0

select * 
from package p
inner join ad_frameworks adf on INSTR( p.pkg,adf.fragment) > 0

select * 
from package p
inner join ad_frameworks adf on POSITION(adf.fragment IN p.pkg) > 0

select * 
from package p
inner join ad_frameworks adf on REPLACE(p.pkg, adf.fragemnt, '') <> p.pkg

好吧,你的选择不多 ;)

SqlFiddle

关于mysql - 检查一列的值是否包含另一列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12424737/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com