Подстановочный знак SQL Server с тире и подчеркиванием ВОПРОСЫ - PullRequest
0 голосов
/ 12 июня 2019

Мне нужно запросить в столбце свободного текста строку символов, содержащую - и _. Столбец определяется как varchar(8000) - очень большой столбец с большим количеством символов.

Это одна строка: '% OTHER MIE - объяснение ИМТ%'

Я пытался использовать LIKE '%OTHER MIE-Explanation of BMI%' - безрезультатно.

Я также пытался использовать LIKE '%OTHER MIE-Explanation of BMI%' ESCAPE '-' - безрезультатно.

Tried WHERE CONTAINS (Comment, 'OTHER MIE-Explanation of BMI') - я получаю следующее сообщение об ошибке:

Невозможно использовать предикат CONTAINS или FREETEXT для таблицы или индексированного представления '# TEMP1', поскольку он не проиндексирован в полнотекстовом формате.

Пожалуйста, ПОМОГИТЕ!

Ответы [ 3 ]

2 голосов
/ 12 июня 2019

Ваша проблема не воспроизводима.

Я провел этот тест:

DECLARE @Tbl TABLE (Col1 varchar(max));

INSERT INTO @Tbl (Col1) VALUES ('%OTHER MIE-Explanation of BMI%')    

SELECT * FROM @Tbl
WHERE Col1 LIKE '%OTHER MIE-Explanation of BMI%'

И результат был:

Col1
%OTHER MIE-Explanation of BMI%

Если вы не получили результатов, то строка, которая, по вашему мнению, находится в вашей таблице, на самом деле не существует.

0 голосов
/ 12 июня 2019

Попробуйте это:

col like '%OTHER MIE_Explanation of BMI%'

или

col like '%OTHER MIE%Explanation of BMI%'

Дефисы бывают разных форм, из которых наиболее знакомыми являются em-dash и en-dash. Я предполагаю, что там используется еще какой-то неясный штрих.

0 голосов
/ 12 июня 2019

Строка действительно есть.Я поместил это в Excel и разделил (ТЕКСТ НА КОЛОННЫ), и строка существует.Это очень большое, свободное текстовое поле.Строка там.

...