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'? –