我是存储过程的新手。如何用'/'
拆分字符串并将其存储到变量?
我尝试了以下步骤:
bm = 5x112.30 / 5x120.45 ;
SET bp1 = SUBSTRING_INDEX(bm, '/', 1);
SET bp2 = SUBSTRING_INDEX(bm, '/', 2);
但是bp2总是与bp1相同。我不知道这里有什么不对。
答案 0 :(得分:1)
我通过创建一个函数split(string,delimiter,no)来修复它。这是我的代码:
DELIMITER $$
CREATE FUNCTION split( str VARCHAR(500), delchar VARCHAR(2), x INT )
RETURNS VARCHAR(500)
BEGIN
RETURN SUBSTR(SUBSTRING_INDEX(str, delchar, x),
LENGTH(SUBSTRING_INDEX(str, delchar, x-1))+IF(x > 1, 2, 1));
END$$
DELIMITER ;
bp1 =拆分(' 5x112.30 / 5x120.45',' /',1);
bp2 =拆分(' 5x112.30 / 5x120.45',' /',2);
答案 1 :(得分:0)
那是因为bm
= 5x112.30
它没有/
个字符