问题描述
- mysql 创建存储过程时,select语句 like中引用变量如何引用?
-
附代码:
delimiter//DROP PROCEDURE IF EXISTS M_DNAME //
CREATE PROCEDURE M_DNAME
(MONTH VARCHAR(2))
SELECT INCOME.CID,COUNT(*) COUNTS FROM INCOME WHERE TIME LIKE '______MONTH%';
//delimiter ;
如上 like中的MONTH是变量 如何插入进去?
解决方案
你这是想要做什么?没明白。。
解决方案二:
CREATE PROCEDURE M_DNAME (MONTH VARCHAR(2))
BEGIN
SET @month = MONTH
SET @sql = CONCAT("SELECT INCOME.CID,COUNT(*) COUNTS FROM INCOME WHERE TIME LIKE ", @month);
PREPARE sql_real FROM @sql;
EXECUTE sql_real;
END
希望能帮到你。
解决方案三:
delimiter//
DROP PROCEDURE IF EXISTS M_DNAME //
CREATE PROCEDURE M_DNAME
(MONTH VARCHAR(2))
SELECT INCOME.CID,COUNT(*) COUNTS FROM INCOME WHERE TIME LIKE CONCAT(MONTH ,'%');
//
delimiter ;
时间: 2024-08-30 02:39:07