Как вы ищите & (амперсанд) в функции, содержащей tsql? - PullRequest
2 голосов
/ 03 апреля 2009

У меня есть таблица T, в которой есть столбец C, в котором содержится текст с символом & внутри него, но если я сделаю следующий запрос, он ничего не вернет, хотя у меня может быть 10 строк.

SELECT * FROM T WHERE Contains(C, 'a&b')

Ответы [ 4 ]

2 голосов
/ 03 апреля 2009

Используйте двойные кавычки, чтобы сделать это поисковым запросом:

SELECT *
FROM T
WHERE CONTAINS(C, '"a&b"')

В противном случае вы ищете что-то, имеющее AND b.

2 голосов
/ 03 апреля 2009

Вместо этого используйте:

SELECT * FROM T WHERE C like '%&%'

, если вы ищете только &

или

SELECT * FROM T WHERE C like '%a&b%'

, если вам нужно найти a & b

1 голос
/ 03 апреля 2009

Я создаю копию столбца, который заменяет & и другие не алфавитно-цифровые символы на _. Тогда я могу сделать это.

SELECT * FROM T WHERE Contains(C_searchable, 'a_b')
1 голос
/ 03 апреля 2009

Можете ли вы использовать LIKE вместо содержит?

SELECT * FROM T WHERE C LIKE '%a&b%'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...