[英]SQL Stored Procedure String Search via Passed Parameter and Using 'LIKE' query
我正在嘗試創建一個存儲過程,它將使用用戶在調用SP時傳遞的參數來搜索我的表。 我想使用'LIKE'查詢。 到目前為止,這就是我得到的。
DROP PROCEDURE IF EXISTS `SEARCH_STUDENT`$$
CREATE
PROCEDURE `test`.`SEARCH_STUDENT`(_textInput VARCHAR(10))
BEGIN
SELECT * FROM records WHERE `lastname` LIKE '%'+_textInput+'%';
END$$
但我得到這個錯誤:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@Search varchar(10);
SET @Search=_textInput;
SELECT * FROM records WHERE `last' at line 10
我從谷歌獲得的是帶有固定字符串的樣本。 我的取決於用戶將在文本框中輸入的內容。 非常感謝您提供的任何幫助。
我現在明白了。 感謝這個鏈接。
sql CONCAT函數就是答案。 這是我現在的代碼:
CREATE
PROCEDURE `test`.`SEARCH_STUDENT`(_textInput VARCHAR(10))
BEGIN
-- sELECT * FROM records WHERE `lastname` LIKE '%' + _textInput;
SELECT * FROM records WHERE `lastname` LIKE CONCAT('%',_textInput,'%');
END$$
CREATE PROCEDURE `test`.`SEARCH_STUDENT`(in _textInput VARCHAR(10))
BEGIN
-- SELECT * FROM records WHERE `lastname` LIKE '%' + _textInput;
SELECT * FROM records WHERE `lastname` LIKE CONCAT('%',_textInput,'%');
END$$
投入
\`test\`.\`SEARCH_STUDENT\`(in _textInput VARCHAR(10))
其他明智的將無法正常顯示
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.