Оператор SQL Server LIKE не соответствует значениям, содержащим квадратные скобки - PullRequest
0 голосов
/ 09 октября 2018

В моей базе данных есть таблица, в которую я вставил все имена таблиц в своей базе данных.Например, у меня есть имя таблицы [test]. [TestTable], и ​​когда я запускаю этот запрос

select * from Tables where Name like N'%[test].[TestTable]%' 

, он не возвращает никакого значения, но этот запрос работает:

select * from Tables where Name like N'%[TestTable]%'

Можеткто-нибудь объяснит мне почему?

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

когда вы используете оператор LIKE и в условии add [], это имеет другое значение.LIKE «читает» его как любой отдельный символ в пределах указанного диапазона ([af]) или набора ([abcdef]).

попробуйте использовать: подобно N '% TestTable%'

0 голосов
/ 09 октября 2018

Вы должны выйти из левой квадратной скобки:

SELECT * FROM Tables WHERE Name LIKE N'%[[]test].[[]TestTable]%' 
-----------------------------------------^        ^
--------------------------------------------------+
...