我有一个列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)) + '%'