mysql过程中入参是个字符串需要在过程中对参数进行截取,这个怎么弄?
比如 入参 a="1~2~3" 需要将 1、2、3分别获取到,并且 入参a的值不定,可能是a="1~2" 也可能是a="1"

解决方案 »

  1.   

    那就是where a in ( your_variable_here )-- 用 in 撒!
      

  2.   

    字符串累加生成SQL语句,再执行
      

  3.   

    我在过程中怎么截取每一个数字?
    入参 in_id ="1~2~3" 
    CREATE PROCEDURE `mbp_send_message_p`(
          in in_id int
          ) 
    DECLARE vi_id1 int;
    DECLARE vi_id2 int;
            DECLARE vi_id3 int;
    我想让 vi_id1=1,vi_id2=2,vi_id3=3
      

  4.   

    使用substring_index 函数。CREATE PROCEDURE `mbp_send_message_p`(
         in in_id varchar(1000)
         )  
    set vi_id1 = substring_index (in_id ,'~',1);
    set vi_id2 = substring_index (substring_index (in_id ,'~',2) ,'~',-1);