SQL Server
Microsoft 关系数据库管理和分析系统的一个系列,用于实现电子商务、业务线和数据仓库解决方案。
167 个问题
假如说有两列值分别是 177-4529-9002 和 129-2331-9002,我想先比较是否存在相同的数字,然后截取相同的9002。
有什么函数可以实现吗?
如果我理解正确的话,你可以使用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, '-')
如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。