![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
LIKE в хранимой процедуре [D4, D5, D6, MSSQL, ]
comwad © (2001-12-11 13:50:00)Добрый день!
Вопрос - как передать через параметр
в хранимой процедуре условие для оператора
LIKE : (Inform like @Locate)
(Inform like "%"+@Locate+"%")
Ни так , ни так не отрабатывает, не находит
условия, хотя если запрос на прямую без процедуры
давать - все работает.
CREATE PROCEDURE UpdateClear5ESSInf
@Time char (20),@Code char (128),@Locate char (128),@Ats int
AS
Begin
Update A_Alarm_WR Set TimeOff =@Time
where (TimeOff is Null) And (Code =@Code) And (Inform like @Locate)
And (Ats =@Ats)
End
Fay (2001-12-12 23:14:00) [1]Приведи к Varchar
Delirium (2001-12-11 19:35:00) [2]>unfam
Мы про Transact SQL говорим, причем здесь QuotedStr, да и Char($27) в T-SQL вызывается как Char(39) ?
unfam (2001-12-11 18:12:00) [3]>conwad. Возможно у вас кавычки не передаются. То есть получается что-то вроде like %бла-бла% вместо like "%бла-бла%". Попробуйте функцию QuotedStr или вручную добавьте кавычки в начало и конец строки -
char($27)+<параметр>+char($27)
Delirium (2001-12-11 14:04:00) [4]
@Locate VarChar (128)
У тебя-же в параметр куча пробелов добавляется!