实现比较并截取相同值

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

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

有什么函数可以实现吗?

SQL Server
SQL Server
Microsoft 关系数据库管理和分析系统的一个系列,用于实现电子商务、业务线和数据仓库解决方案。
166 个问题
Transact-SQL
Transact-SQL
ANSI SQL 语言的 Microsoft 扩展,包括过程编程、局部变量和各种支持函数。
20 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. LiHongMSFT-4306 27,961 信誉分
    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 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。