Sql server 在SQL Server字符串中搜索其他表中的值
我有一个列为Sql server 在SQL Server字符串中搜索其他表中的值,sql-server,substring,udf,patindex,Sql Server,Substring,Udf,Patindex,我有一个列为name的表,其名称前后都有随机字符,即: 表A: Name ----------------- asd4345JONlkj345 .;lidDavidlksd$ Name ------ David Jon 我在同一数据库中有另一个表,它的名称是ie: 表B: Name ----------------- asd4345JONlkj345 .;lidDavidlksd$ Name ------ David Jon 对于30000
name
的表,其名称前后都有随机字符,即:
表A:
Name
-----------------
asd4345JONlkj345
.;lidDavidlksd$
Name
------
David
Jon
我在同一数据库中有另一个表,它的名称是ie:
表B:
Name
-----------------
asd4345JONlkj345
.;lidDavidlksd$
Name
------
David
Jon
对于30000行,这是这样的,或者我只是快速地硬编码一些东西。我想在表A“名称”列中的每个字符串中搜索表B中的每个值,如果找到,则在新列中返回名称
我感觉这将是一个UDF,这很好,我只是不确定在这个场景中如何使用patindex,或者这是否是正确的方法 您只需要
LIKE
操作符即可:
select *
from TableA
inner join TableB on TableA.Name like '%' + TableB.Name + '%'
您只需使用
LIKE
操作符即可:
select *
from TableA
inner join TableB on TableA.Name like '%' + TableB.Name + '%'
我不明白在不到一分钟的时间里有人投了反对票,为什么?在这么短的时间内,人们怎么会有时间去理解这个问题呢?否决票并不是我投的,但我确信,这是因为现在还不清楚你到底想做什么。我们可以得到一般的感觉,但代码不是这样工作的。我们需要实际的细节。这里是一个让你的问题变得更好的好地方。我不明白在不到一分钟的时间里有人投了反对票,为什么?在这么短的时间内,人们怎么会有时间去理解这个问题呢?否决票并不是我投的,但我确信,这是因为现在还不清楚你到底想做什么。我们可以得到一般的感觉,但代码不是这样工作的。我们需要实际的细节。这里是一个让你的问题变得更好的好地方。根据描述,不需要使用like,just=应该可以。@urlreader如何使用an=“00000 david0000”与“David”匹配?我没有看到“名称前后的随机字符”,对此表示抱歉。根据描述,不需要使用like,just=应该可以。@urlreader如何匹配“00000 david0000”“David”只使用了一个=?我没有看到“名称前后的随机字符”,对此表示抱歉。