Ответ 1
Стандартный способ SQL - использовать как:
where @stringVar like '%thisstring%'
Это в запросе. Вы также можете сделать это в TSQL:
if @stringVar like '%thisstring%'
Я думал, что это было CONTAINS
, но это не работает для меня.
Я хочу сделать это:
IF CONTAINS(@stringVar, 'thisstring')
...
Мне нужно запустить один select
или другой, в зависимости от того, содержит ли эта переменная строку, и я не могу понять, как заставить ее работать. Все примеры, которые я вижу, используют столбцы в файле.
Спасибо заранее.
Стандартный способ SQL - использовать как:
where @stringVar like '%thisstring%'
Это в запросе. Вы также можете сделать это в TSQL:
if @stringVar like '%thisstring%'
Вместо LIKE
(который работает, как предполагали другие комментаторы), вы также можете использовать CHARINDEX
:
declare @full varchar(100) = 'abcdefg'
declare @find varchar(100) = 'cde'
if (charindex(@find, @full) > 0)
print 'exists'
CONTAINS
для поля с полным текстом. Если нет, используйте LIKE
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.