一、环境: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