Проблема с использованием escape-символов в параметризованном SELECT - PullRequest
0 голосов
/ 31 января 2020

У меня проблема с SQL Сервером при поиске в полях, которые содержат escape-символы. Когда я ищу напрямую, используя этот код, он работает нормально:

SELECT distinct jobname, @jobname as Parm
FROM SurveyJob
where jobname = 'Head Coach - Women''s Volleyball'

Но если я использую параметр в предложении where, используя тот же синтаксис, я не получаю никаких результатов:

DECLARE @JobName varchar(150) = 'Head Coach – Women''s Volleyball'

SELECT distinct jobname, @jobname as Parm
FROM SurveyJob
where jobname = @jobname

Я пытался использовать REPLACE, чтобы убрать апостроф из параметра и поля в предложении WHERE, но это, похоже, не работает.

1 Ответ

0 голосов
/ 04 февраля 2020
DECLARE @N VARCHAR(20) = 'Women''s Volleyball'
SELECT JobName FROM
(
SELECT JobName = 'Girl''s Volleyball'
UNION SELECT JobName = 'Women''s Volleyball'
UNION SELECT JobName = 'Men''s Volleyball'
UNION SELECT JobName = 'Boy''s Volleyball'
) x
WHERE JobName = @N
PRINT @N
...