SQL Server Campo Like ‘%’ + @parametro

22 Marzo, 2010 por Ascariz Dejar una respuesta »

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’;

Publicidad

Dejar un comentario

*