0

我有一个表,name其名称前后有随机字符,即:

表 A

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

我在同一个数据库中有另一个表,其名称为:

表 B

 Name
 ------
 David
 Jon

对于 30k 行,这种情况会持续下去,或者我只是快速硬编码一些东西。我想在表 A 的“名称”列中搜索表 B 中的每个值的每个字符串,如果找到,则在新列中返回名称。

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

4

2 回答 2

3

您只需要LIKE操作员即可:

select * 
from TableA
inner join TableB on TableA.Name like '%' + TableB.Name + '%'
于 2016-11-01T21:21:45.207 回答
1
  select B.Name, A.Name from tableA A inner join join tableB B
  on rtrim(ltrim(B.Name)) like '%' + rtrim(ltrim(A.Name)) + '%'
于 2016-11-01T21:23:22.857 回答