检测(查找)另一个字符串中的字符串(nvarchar(MAX))

时间:2011-03-21 06:40:23

标签: sql tsql sql-server-2008

我的nvarchar(max)列具有不同的值,类似'A2'

来自另一个表的另一列,其值类似'(A2和A3)或A4'

我需要检测第二列中的字符串是否包含第一列的字符串。

那么我需要选择第二个表的所有列,其中包含第一个表的第一列的字符串。

类似的东西......但这是错误的

SELECT * Cols FROM T2
WHERE (SELECT T1.StringCol FROM T1) IN T2.StringCol

但我更喜欢它(在f#语法中)

for t1.date, t1.StringCol from t1
 for t2.StringCol from t2
  if t2.StringCol.Contains( t1.StringCol )
    yield t2.StringCol, t1.date

1 个答案:

答案 0 :(得分:1)

这应该得到你想要的......

select t2.*
from t1 cross join t2
where patindex('%' + t1.StringCol + '%', t2.StringCol) > 0