インターネットからいくつかのコードを取得した SQL でコンマ区切りの値を比較する関数を作成しようとしています。
SELECT CASE WHEN EXISTS
(
SELECT 1 FROM dbo.Split(@v1)
WHERE ', ' + LTRIM(@v2) + ','
LIKE '%, ' + LTRIM(Item) + ',%'
) THEN 1 ELSE 0 END;
次に、関数を作成します。
CREATE FUNCTION [dbo].[fnCompareCSVString]
(
@str1 nvarchar(50),
@str2 nvarchar(50)
)
RETURNS int
AS
BEGIN
SELECT CASE WHEN EXISTS
(
SELECT 1 FROM dbo.Split(@str1)
WHERE ', ' + LTRIM(@str2) + ','
LIKE '%, ' + LTRIM(Item) + ',%'
) THEN 1 ELSE 0 END;
END
私は SQL が得意ではありません。これが間違っていることはわかっています。
質問:
比較後に2つの値(カンマ区切り値)を取るカンマ区切り値を比較するための関数を書きたいと思います。戻り値はtrueまたはfalseになります
この SQL 関数で何を変更する必要がありますか?