Din vän här är FIND_IN_SET förväntar jag mig. Jag stötte först på den metoden i den här frågan:täcks också av den här frågan MYSQL - lagrad procedur som använder kommaseparerad sträng som variabel indata
MySQL-dokumentationen för FIND_IN_SET finns här http ://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set
Så din procedur kommer att bli
CREATE DEFINER=`root`@`localhost`
PROCEDURE `search_equipment`(
IN equip VARCHAR(100),
IN category VARCHAR(255)
)
BEGIN
SELECT *
FROM Equipment
WHERE e_description LIKE CONCAT("%",equip,"%")
AND FIND_IN_SET(e_type,category)
END
Detta förlitar sig på att kategoristrängen är en kommaavgränsad lista, så din anropskod blir
String type = "I.T. Equipment,Office Supply";
CALL search_equipment('some equipment', type);
(p.s. fixade ett stavfel, i dina argument hade du skrivit categoy)