我有一个列name
的表,在名称前后有随机字符,即:
表A :
Name
-----------------
asd4345JONlkj345
.;lidDavidlksd$
我在同一个DB中有另一个表,其名称为:
表B :
Name
------
David
Jon
对于30k行,这就是这样的,或者我只是快速硬编码。我想搜索表A' Name'中的每个字符串。表B中每个值的列,如果找到,则返回新列中的名称。
我觉得这将是一个UDF,这很好,我只是不确定如何在这种情况下使用patindex,或者这是否是正确的方法。
答案 0 :(得分:3)
您只需要LIKE
运算符:
select *
from TableA
inner join TableB on TableA.Name like '%' + TableB.Name + '%'
答案 1 :(得分:1)
select B.Name, A.Name from tableA A inner join join tableB B
on rtrim(ltrim(B.Name)) like '%' + rtrim(ltrim(A.Name)) + '%'