-- ============================================= -- Author: -- Create date: -- Description: -- ============================================= CREATE FUNCTION [dbo].[ott_csv_contains] ( @text varchar(500) ,@fragment varchar(500) ) RETURNS bit AS BEGIN DECLARE @RET bit; IF ISNULL(@text, '') = '' OR ISNULL(@fragment, '') = '' SET @REt = 0; ELSE BEGIN -- Will be true -- if any of the fragments exist in the list of text-items WITH texts as (SELECT * FROM string_split(ISNULL(@text,''), ',')) ,fragments as (SELECT * FROM string_split(ISNULL(@fragment,''), ',')) SELECT @RET = CASE WHEN EXISTS (SELECT * FROM texts JOIN fragments ON texts.[value] = fragments.[value]) THEN 1 ELSE 0 END; END; RETURN @RET; END