在MySql 中使用存储过程分割字符串

 在Mysql中创建了一个存储过程,用来分隔字符串,如下:

  1. DROP TABLE IF EXISTS `GetPopWord`;
  2. CREATE DEFINER=`scada`@`%` PROCEDURE `GetPopWord`(inout SourceString nvarchar(4000) , inout Firstword nvarchar(4000),delimiter nvarchar(10))
  3. begin
  4.      DECLARE  Oldword        NVARCHAR(4000);
  5.      DECLARE LengthSource         INT;
  6.      DECLARE cur_position INT;
  7.      set Oldword = SourceString;
  8. if Oldword is not null then
  9.       SET cur_position = INSTR(Oldword,delimiter);
  10.      SET LengthSource = CHAR_LENGTH(Oldword);
  11.       if cur_position = 0 then
  12.            set Firstword = Oldword;
  13.            set SourceString = '';
  14.      else
  15.            set  Firstword = LEFT(Oldword,cur_position -1 );
  16.            set  SourceString=SUBSTRING(Oldword,cur_position+1,LengthSource- cur_position);
  17.       end if;
  18. else
  19.      set  SourceString = null;
  20.      set  Firstword       = null;
  21. end if;
  22. end;

 

在Mysql Front的界面的查询页面中,安如下语法调用:

 

    set @b = 'sss,bbb,cc';
    set @c = '';

    call GetPopWord(@b,@c,',');
    select  @c as `第一个字符` ,@b as `剩下的` ;

 

执行的结果是:

第一个字符    剩下的

sss                    bbb,cc

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值