これはあなたが探しているものですか?
正誤結果
-- 両方の CSV セットに存在する値のみに一致SELECT T1.[Item], CASE WHEN T2.[Item] IS NULL THEN 0 ELSE 1 END AS [Match] FROM [dbo].[Split] ('val1,val2,val3', ',') AS T1 LEFT JOIN [dbo].[Split]('val3,val4', ',') AS T2 on T1.[Item] =T2.[Item]コード> プレ>
返品
アイテム Matchval1 0val2 0val3 1
プレ>
真の一致のみ
-- 両方の CSV セットに存在する値のみに一致しますSELECT T1.[Item] FROM [dbo].[Split]('val1,val2,val3', ',') AS T1 INNER JOIN [dbo ].[Split]('val3,val4', ',') AS T2 on T1.[Item] =T2.[Item]
プレ>
返品
Itemval3
プレ>
分割機能
CREATE FUNCTION [dbo].[Split] ( @s VARCHAR(max), @split CHAR(1))RETURNS @temptable TABLE ([Item] VARCHAR(MAX)) ASBEGIN DECLARE @x XML SELECT @ x =CONVERT(xml,'' + REPLACE(@s,@split,'') + ' '); INSERT INTO @temptable SELECT [Value] =T.c.value('.','varchar(20)') FROM @X.nodes('/root/s') T(c);RETURNEND;
プレ>