Как мне избежать подчеркивания?
Я пишу что-то вроде следующего предложения where и хочу найти реальные записи с _d в конце.
Where Username Like '%_d'
sql-server
GateKiller
источник
источник
Очевидно, решение @Lasse является правильным, но есть и другой способ решения вашей проблемы: оператор T-SQL
LIKE
определяет необязательное предложение ESCAPE , которое позволяет вам объявить символ, который будет экранировать следующий символ в шаблоне.Для вашего случая следующие предложения WHERE эквивалентны:
источник
ESCAPE
предложение является частью стандарта SQL и будет работать на любой СУБД, а не только на SQL Server.Эти решения полностью имеют смысл. К сожалению, ни один из них не работал для меня, как ожидалось. Вместо того, чтобы пытаться с этим справиться, я обошел вокруг:
источник
Это сработало для меня, просто используйте побег
'%\_%'
источник
Ничто из этого не работало для меня в SSIS v18.0, поэтому я хотел бы сделать что-то вроде этого: ...
WHERE CHARINDEX('_', thingyoursearching) < 1
где я пытаюсь игнорировать строки с подчеркиванием в них. Если вы хотите найти вещи с подчеркиванием, просто переверните их:
WHERE CHARINDEX('_', thingyoursearching) > 0
источник