У меня есть Proc, который был закодирован в Dynamic SQl для одного из моих приложений. Он используется для поиска соискателей по фамилии. Прямо сейчас он ищет кандидатов либо по первым 2 цифрам фамилии, либо по полной фамилии. Но у меня проблема с поиском кандидатов, в фамилии которых есть апостроф (например, О'Коннор). Если клиент попытается найти кандидата с помощью O' или O'Connor, он выдаст ошибку. Они хотят найти каждого кандидата с апострофом или без него в фамилии. Пожалуйста, помогите, я пробовал все, но это не работает. Ниже приведен мой поисковый код, который используется в Proc для отбора кандидатов:
При необходимости добавьте подстановочные знаки
if Rtrim(@FirstName) <> ''
begin
If(Len(@FirstName) < 30) and (CharIndex('%', @FirstName) = 0) and @FirstName != ''
Set @FirstName = char(39) + @FirstName + '%' + char(39)
end
if Rtrim(@LastName) <> ''
begin
If(Len(@LastName) < 60) and (CharIndex('%', @LastName) = 0) and @LastName != ''
Set @LastName = Char(39) + @LastName + '%' + char(39)
end
Теперь строим динамически базу фильтра по входным параметрам.
if Rtrim(@LastName) <> ''
select @Where = @Where + ' and a.LastName like '+ Rtrim(@LastName)