实现比较并截取相同值

Feng 80 信誉分
2024-03-28T03:06:49.25+00:00

假如说有两列值分别是 177-4529-9002 和 129-2331-9002,我想先比较是否存在相同的数字,然后截取相同的9002。

有什么函数可以实现吗?

开发人员技术 | Transact-SQL
SQL Server | 其他
0 个注释 无注释

问题作者接受的答案
  1. LiHongMSFT-4306 31,621 信誉分
    2024-03-28T06:19:13.29+00:00

    如果我理解正确的话,你可以使用String_Split先将数字串拆分开来,然后再使用集合函数INTERSECT获取交集。

    详细请看这个示例:

    DECLARE @TBL TABLE (ID INT,VAL1 VARCHAR(50),VAL2 VARCHAR(50))
    INSERT INTO @TBL VALUES
    (1,'177-4529-9002','129-2331-9002'),(2,'177-4529-9002','129-4529-5589')
    
    SELECT ID,VALUE AS Same_Value
    FROM @TBL CROSS APPLY STRING_SPLIT(VAL1, '-')
    INTERSECT
    SELECT ID,VALUE AS Same_Value
    FROM @TBL CROSS APPLY STRING_SPLIT(VAL2, '-')
    

    如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

提问者可以将答案标记为“已接受”,审查方可以将答案标记为“已推荐”,这有助于用户了解答案是否解决了提问者的问题。