Reputation: 13775
I thought it was CONTAINS
, but that's not working for me.
I'm looking to do this:
IF CONTAINS(@stringVar, 'thisstring')
...
I have to run one select
or another, depending on whether that variable contains a string and I can't figure out how to get it to work. All the examples I'm seeing are using columns in the contains.
Upvotes: 75
Views: 212244
Reputation: 4066
IF CHARINDEX('TextToSearch',@TextWhereISearch, 0) > 0 => TEXT EXISTS
IF PATINDEX('TextToSearch', @TextWhereISearch) > 0 => TEXT EXISTS
Additionally we can also use LIKE but I usually don't use LIKE.
Upvotes: 8
Reputation: 1391
Instead of LIKE
(which does work as other commenters have suggested), you can alternatively use CHARINDEX
:
declare @full varchar(100) = 'abcdefg'
declare @find varchar(100) = 'cde'
if (charindex(@find, @full) > 0)
print 'exists'
Upvotes: 30
Reputation: 51494
CONTAINS
is for a Full Text Indexed field - if not, then use LIKE
Upvotes: 7
Reputation: 1269593
The standard SQL way is to use like:
where @stringVar like '%thisstring%'
That is in a query statement. You can also do this in TSQL:
if @stringVar like '%thisstring%'
Upvotes: 108