0
我是新来的存储过程。如何分割一个字符串与'/'
并将其存储到变量?如何在mysql存储过程中用'/'拆分字符串?
我尝试以下步骤:
bm = 5x112.30/5x120.45 ;
SET bp1 = SUBSTRING_INDEX(bm, '/', 1);
SET bp2 = SUBSTRING_INDEX(bm, '/', 2);
但BP2始终是一样的BP1。我不知道这里有什么错。
我是新来的存储过程。如何分割一个字符串与'/'
并将其存储到变量?如何在mysql存储过程中用'/'拆分字符串?
我尝试以下步骤:
bm = 5x112.30/5x120.45 ;
SET bp1 = SUBSTRING_INDEX(bm, '/', 1);
SET bp2 = SUBSTRING_INDEX(bm, '/', 2);
但BP2始终是一样的BP1。我不知道这里有什么错。
这是因为bm
= 5x112.30
它没有/
字符
我固定它通过创建函数split(字符串,分隔符,否)。这是我的代码:
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 = split('5x112.30/5x120.45','/',1);
bp2 = split('5x112.30/5x120.45','/',2);
但我应该如何验证bp2?有些情况下,bm的值将会是5x112.30/5x120.56。 –
你想'bp1' ='5x112.30'和'bp2' ='5x120.45'? –