关于数据库分割及截取字符串

 

一、环境:mysql

 

二、在MySQL中并没有split方法,所以我们不能直接使用split(),但是却群在一个苏北string_index()

substring_index(vTemp,',', 1)

其中:vTemp是需要分割的字符串  中间的逗号是分割的依据,后面的数字大于0是标识从左边分割,小于0时是从右边分割,数字的大小就是分割的量。比如:1是左起前一个,

2就是左起前两个。-1是右起前一个,-2是右起前两个。

 

同时substring_index()支持嵌套,如下面的:

substring_index(substring_index(vTemp,',',propertyIndex + 1),',',-1);

 

三、截取字符串

substring() 如下:

substring(vTemp,1,(length(vTemp)/3-1))

其中 vTemp是需要截取的字符串,1是开始位置,最后的是截取长度。

 

四、相关代码如下:

CREATE DEFINER=`root`@`localhost` FUNCTION `_fnPropertyType`(propertyName varchar(45),propertyIndex int) RETURNS varchar(200) CHARSET utf8
BEGIN
-- 获取附加字段属性信息
    -- '固定期限:0,无固定期限:1,工作任务:2'
      declare vRlt varchar(45);
      declare vTemp varchar(45);
    
      select value into vTemp from propertytype where name = propertyName;
    set vTemp = substring_index(substring_index(vTemp,',',propertyIndex + 1),',',-1);
    set vTemp = substring(vTemp,1,(length(vTemp)/3-1));
    set vRlt = vTemp;
    return vRlt;
end

 


  

也欢迎登录我的个人网站,里面有更多的文章及技术咨询在等你:http://www.guangmuhua.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值