In T-SQL, how would you check if a string doesn\'t contain another string?
I have an nvarchar
which could be \"Oranges Apples\".
I would like to do
The answers you got assumed static text to compare against. If you want to compare against another column (say, you're joining two tables, and want to find ones where a column from one table is part of a column from another table), you can do this
WHERE NOT (someColumn LIKE '%' || someOtherColumn || '%')
WHERE NOT (someColumn LIKE '%Apples%')
Use this as your WHERE condition
WHERE CHARINDEX('Apples', column) = 0
Or alternatively, you could use this:
WHERE CHARINDEX(N'Apples', someColumn) = 0
Not sure which one performs better - you gotta test it! :-)
Marc
UPDATE: the performance seems to be pretty much on a par with the other solution (WHERE someColumn NOT LIKE '%Apples%') - so it's really just a question of your personal preference.