将字符串1的一部分与第二个字符串进行比较

泰亚卜

我有两个字符串列,如下所示

Column01               Column02

ABC School System      Worked in Private school. 

我想匹配这些列,以便如果列B中有来自列A的任何单个单词,则将给出匹配结果。在这种情况下,两列中都出现了“学校”一词,因此应将其视为匹配项。

可以将A列中的单个单词定义为长度超过3且在两侧都具有空格或在一侧中都具有空格而在另一侧中都没有空格的任何字母字符串(以迎合开始和结尾的单词) 。

如何在SQL Server中执行此操作?

乌海

您可以XML使用空格作为标记来创建一个,然后使用.nodes()来从xml列中获取单词并将它们进行比较。像这样

WITH Table1 as 
(
    SELECT 1 as ID,'ABC School System' as col1, 'Worked in Private school'  as col2 
), CTE2 as 
(
    SELECT M.id,c.value('text()[1]','VARCHAR(100)') COLLATE Latin1_General_CI_AS as col1val,c2.value('text()[1]','VARCHAR(100)') COLLATE Latin1_General_CI_AS  as col2val
    FROM
    (
        SELECT id,
        CONVERT(XML,'<i>' + REPLACE(col1,' ','</i><i>') + '</i>') col1,
        CONVERT(XML,'<i>' + REPLACE(col2,' ','</i><i>') + '</i>') col2
        FROM Table1
    )M
    CROSS APPLY col1.nodes('i') as t(c)
    CROSS APPLY col2.nodes('i') as t2(c2)
)
SELECT ID,col1val,col2val
FROM CTE2
WHERE col1val = col2val
    AND LEN(col1val) > 3
    AND LEN(col2val) > 3

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Android-如何用另一个字符串替换字符串的一部分?

Python re.split()将分隔符的部分保留为第一个字符串的一部分,而其他保留为第二个字符串的一部分,依此类推

我想用另一个字符串替换一部分字符串

将字符串的一部分复制到另一个字符串

在Java中将第一个文件的一个字符串与第二个文件的所有字符串进行比较

将字符串的一部分转换为另一个字符集

获取与另一个字符串匹配的字符串的一部分

如何比较字符串的一部分而不进行复制?

如何根据由第一个字符串组成的第二个字符向量对字符向量进行排序?

如何比较一个字符串输入是否为第二个字符串输入的前缀?

如果字符串包含另一个字符串的一部分,则为Javascript

如果第二个字符串中存在第一个字符串中的字母,则无法比较2个字符串-Java

C#仅读取整个字符串的一部分

在C中进行字符串解析。将字符串的一部分复制到另一个字符串

如何仅基于第二个字符串对字符串向量的向量进行排序

PHP知道字符串是否包含另一个字符串的一部分

如何检查集合中的字符串是否是python 2.7中另一个字符串的一部分?

用另一个字符串替换Linux文件中一部分URL字符串

我如何制作一个将接受字符串并从字符串返回第二个字符的函数?

如何将一个字符串快速复制到另一个字符串的一部分中?

从第二个字符串中删除出现在第一个字符串中的字符

如何查找一个字符串(或多个字符串)的一部分是否在列表Python内

如何匹配字符串的一部分并拒绝整个字符串?

在数据框中的另一个字符串中搜索字符串的一部分

在C中逐个字符地将字符串的一部分复制到新的字符串中

从 N 个字符到 N 个字符获取字符串的一部分

如果匹配另一个字符串的一部分,则替换字符串

将数组与字符串进行比较(匹配字符串的一部分)

捕获字符串或字符串的一部分直到某个字符