Como conseguin en un procedimiento almacenada buscar con un LIKE y parametros con el cararcter ‘%’, tienen que ser una variable varchar.
En el procedimiento FindEmployee, no se devuelven filas porque la variable char (@EmpLName) contiene
espacios al final cuando el nombre tiene menos de 20 caracteres. Debido a que la columna LastName es de tipo varchar, no hay espacios al final. Este procedimiento no funciona porque los espacios al final son significativos.
Sin embargo, el siguiente ejemplo funciona porque no se agregan espacios al final en la variable varchar:
USE AdventureWorks;
GO
CREATE PROCEDURE FindEmployee @EmpLName varchar(20)
AS
SELECT @EmpLName = RTRIM(@EmpLName) + ‘%’;
SELECT c.FirstName, c.LastName, a.City
FROM Person.Contact c JOIN Person.Address a ON c.ContactID = a.AddressID
WHERE c.LastName LIKE @EmpLName;
GO
EXEC FindEmployee @EmpLName = ‘Barb’;