Подчеркивание (_
) - это специальный символ в выражениях LIKE, который соответствует одному символу.
Чтобы соответствовать действительному подчеркиванию, вам нужно его избежать:
select * from tblNames where id like '%\_1' escape '\'
Здесь я говорю SQL Server о необходимости рассматривать обратную косую черту как escape-символ и использовать его для экранирования подчеркивания.
В качестве альтернативы, вы можете представить подчеркивание как диапазон символов с одним символом в нем - это будет интерпретироваться буквально в этом случае:
select * from tblNames where id like '%[_]1'
Что более кратко.
Ссылка: MSDN .