MySQL-如何在IN子句中使用具有逗号分隔的字符串值的输入参数

我必须基于字符串类型的列在MySQL中查询表。

-----------------------------------
id  | lookupkeys  |   productid  |
-----------------------------------
1   |   key1      |     5GEH03   |
2   |   key2      |     7445DW   |
3   |   key3      |     9DSFDF   |
4   |   key4      |     5GEH03   |
5   |   keyN      |     7445DW   |
-----------------------------------

用于在IN子句中使用的单个输入参数中接受多个值(逗号分隔)的存储过程。

Input : @keys = "key1,key5,key19,key22"
Query : SELECT * FROM MyTable WHERE lookupkeys IN ("key1","key5","key19","key22");

所以基本上我需要一种方法来使逗号分隔输入到IN子句的各个值?

下面是一个虚拟sp

CREATE DEFINER=`xxx_xx`@`%` PROCEDURE `sp_demo_fetch_products`(
    IN v_lookupkeys VARCHAR(200)
    )
BEGIN
        SELECT * FROM products_lookup WHERE lookupkeys IN(here I want to use v_lookupkeys)
        AND CONDITION_1
        AND CONDITION_2
        ORDER BY popularity DESC;
END$$
leigang_ 回答:MySQL-如何在IN子句中使用具有逗号分隔的字符串值的输入参数

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3145478.html

大家都在问