【发布时间】:2020-10-12 11:04:52
【问题描述】:
我正在为 mysql 编写一个存储过程。我正在使用 xampp localhost 和 mariadb。
存储过程接收一个整数ID,并根据ID从数据库中查找字符串。此字符串包含一个数字列表,以逗号分隔。
我需要在我的 SQL 查询中为 IN 子句使用这串数字。
CREATE PROCEDURE Test(IN id INT)
BEGIN
DECLARE clist VARCHAR(255);
SELECT clists INTO clist
FROM camp
WHERE cid = id ;
现在 clist,一个 varchar 变量包含一个字符串中的值列表,例如 4,6,8。
SELECT DISTINCT email
FROM table
WHERE ( col1 IN (clist) OR col2 IN (clist)
所以在mysql中,查询变成了这样,并且只获取一个ID为4。
SELECT DISTINCT email
FROM table
WHERE ( col1 IN ('4,6,8') OR col2 IN ('4,6,8')
我希望它变成
SELECT DISTINCT email
FROM table
WHERE ( col1 IN (4,6,8) OR col2 IN (4,6,8)
我的问题是 - 如何从字符串中删除单引号?
谢谢。
【问题讨论】: