在SQL Server字符串中搜索另一个表中的值



我有一个列name的表,在名称之前和之后有随机字符,即:

:

  Name
  -----------------
  asd4345JONlkj345
  .;lidDavidlksd$

和我有另一个表在相同的DB有名称即:

表B

:

 Name
 ------
 David
 Jon

这样进行30k行,否则我就快速硬编码一些东西。我想在表A 'Name'列中搜索表B中的每个值的每个字符串,如果找到,则在新列中返回名称。

我有一种感觉,这将是一个UDF,这很好,我只是不确定如何在这种情况下使用patindex,或者这是否是正确的方法。

您只需要LIKE操作符:

select * 
from TableA
inner join TableB on TableA.Name like '%' + TableB.Name + '%'
  select B.Name, A.Name from tableA A inner join join tableB B
  on rtrim(ltrim(B.Name)) like '%' + rtrim(ltrim(A.Name)) + '%'

相关内容

  • 没有找到相关文章

最新更新