У меня есть хранимая процедура, где в качестве входных данных 1 переменная.Как правильно использовать шаблоны в хранимых процедурах
CREATE PROCEDURE spExample
@name NVARCHAR(60) = ''
AS
BEGIN
SELECT [name], [dom]
FROM [DomName]
INNER JOIN [Domain]
ON LEFT([name], 1)+'%' LIKE @name +'%'
END
На данный момент он возвращает записи из таблицы, если первая буква записи является входом. Например, если запись в таблице - «Тест», выведите следующую процедуру: EXEC spExample 'T'
Возвращает правильную запись.
Но он должен возвращать запись даже если я напечатаю T
, Te
, Tes
, или Test
как ввод процедур. Есть идеи?
Пробовали ли вы 'ON [имя] LIKE @name + '%' '? Вам не нужно добавлять знак процента в левый оператор, только правый. Кроме того, почему вы здесь? –
Зачем использовать 'left' –
Вы используете LEFT ([имя], 1), поэтому вы всегда будете проверять возвращенное первое письмо. Почему бы вам не попробовать LEFT ([name], Len (@name)), хотя это не идеально –