Я новичок в хранимой процедуре. Как разделить строку с помощью '/'
и сохранить ее в переменной?
Я пробовал следующие шаги:
bm = 5x112.30 / 5x120.45 ;
SET bp1 = SUBSTRING_INDEX(bm, '/', 1);
SET bp2 = SUBSTRING_INDEX(bm, '/', 2);
Но bp2 всегда такой же, как bp1. Я не знаю, что здесь не так.
0
sarath s rajendran
26 Июл 2017 в 17:23
2 ответа
Я исправил это, создав разделение функций (строка, разделитель, нет). Это мой код:
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);
1
sarath s rajendran
26 Июл 2017 в 18:25
Это потому, что bm
= 5x112.30
в нем нет символа /
0
Ahmed Taha
26 Июл 2017 в 17:34
Похожие вопросы
Новые вопросы
mysql
MySQL - это бесплатная система управления реляционными базами данных с открытым исходным кодом (RDBMS), использующая язык структурированных запросов (SQL). НЕ ИСПОЛЬЗУЙТЕ этот тег для других БД, таких как SQL Server, SQLite и т. Д. Это разные БД, которые все используют свои собственные диалекты SQL для управления данными.
bp1
=5x112.30
иbp2
=5x120.45
?