Split the string and Go with Dynamic coding
DECLARE @QRY VARCHAR(MAX), @DIVISIONS VARCHAR(MAX)='The Example Company INC';
DECLARE @START INT=1, @END INT=LEN(@DIVISIONS)
, @LIKE VARCHAR(MAX)='CompanyName LIKE ''%';
WHILE (@START<=@END)
BEGIN
SELECT @LIKE =@LIKE+ CASE ASCII(SUBSTRING(@DIVISIONS, @START, 1))
WHEN 32
THEN '%'' OR CompanyName LIKE ''%'
ELSE SUBSTRING(@DIVISIONS, @START, 1)
END
SET @START+=1
END
SET @LIKE = @LIKE+'%'''
SELECT @QRY = ' SELECT CompanyName FROM COMPANY
WHERE ' + @LIKE
PRINT @QRY
EXEC(@QRY)
Another simple way of Dynamic Query:
DECLARE @QRY VARCHAR(MAX), @DIVISIONS VARCHAR(MAX)='The Example Company INC'
,@LIKE VARCHAR(MAX)='CompanyName LIKE ''%';
DECLARE @END INT=LEN(@DIVISIONS)
select @LIKE = @LIKE+ CASE ASCII(SUBSTRING(@DIVISIONS, number, 1))
WHEN 32
THEN '%'' OR CompanyName LIKE ''%'
ELSE SUBSTRING(@DIVISIONS, number, 1)
END
FROM master.dbo.spt_values
where type='p' and number between 1 and @END
SET @LIKE = @LIKE+'%'''
SELECT @QRY = ' SELECT CompanyName FROM COMPANY
WHERE ' + @LIKE
PRINT @QRY
EXEC(@QRY)