Hi ,
I have the following in data in "MyTable".
Id Values
1 2000,3000,4000
2 3000,4000,5000
3 6000,5000,6000
If I run the following queries..
SELECT * FROM MyTable WHERE Values LIKE '%,2000,%'
SELECT * FROM MyTable WHERE Values LIKE '%,3000,%'
So here LIKE '%,word,%' doesn't work. I think the solution for this question is bit complex. Here is the sample code...
DECLARE @SearchTXT VARCHAR(MAX)= '3000';
WITH Namescte AS (
SELECT Id,CAST('<i>' + REPLACE([Values], ',', '</i><i>') + '</i>' AS XML) AS [Values]
FROM MyTable
)
,SplitedCTE AS (SELECT
ID,ROW_NUMBER() OVER(PARTITION BY ID,x.i.value('.', 'VARCHAR(10)') ORDER BY ID) ROWNUM,
x.i.value('.', 'VARCHAR(10)') AS Value
FROM Namescte
CROSS APPLY [Values].nodes('//i') x(i))
SELECT MT.* FROM MyTable MT JOIN SplitedCTE SC ON MT.Id = SC.Id
WHERE ROWNUM < 2 AND SC.Value = @SearchTXT