Возможно, вам не хватает того, что _
является подстановочным знаком для SQL LIKE
, который соответствует ровно одному символу.
Таким образом, LIKE '%abc_def%'
может соответствовать любому символу между двумя:
abc1def
abcZdef
abc&def
abc_def
Чтобы сопоставить подчеркивание в SQL Server с помощью LIKE
, вы можете использовать одно из следующих:
SomeColumn LIKE '%abc[_]def%' -- use a character class
SomeColumn LIKE '%abc$_def%' ESCAPE '$' -- use an escape character
Или вы можете использовать charindex()
:
CHARINDEX('abc_def', SomeColumn) > 0