MySQL Zeichenfolgentrennung durch Kommaoperator
Ich habe Stringasdasdwdfef,rgrgtggt,weef
und ich möchte eine Ausgabe wie in der unten gezeigten Tabelle.
id decription
1 asdasdwdfef
2 rgrgtggt
3 weef
Dafür habe ich eine Prozedur erstellt hier ist meine Prozedur
DELIMITER ;;
CREATE Procedure Split(_RowData text, _Delimeter text)
BEGIN
DECLARE _Iterator INT default 1;
DECLARE _FoundIndex INT;
DECLARE _Data varchar(255);
SET _FoundIndex = LOCATE(_Delimeter,_RowData);
DROP TABLE IF EXISTS _RtnValue;
CREATE temporary TABLE _RtnValue(ID INT AUTO_INCREMENT NOT NULL, description text, primary key(ID));
WHILE _FoundIndex > 1 DO
INSERT INTO _RtnValue (description)
SELECT
_Data = LTRIM(RTRIM(SUBSTRING(_RowData, 1, _FoundIndex - 1)));
set _RowData = SUBSTRING(_RowData, _FoundIndex + LENGTH(_Delimeter) / 2, LENGTH(_RowData));
SET _Iterator = _Iterator + 1;
SET _FoundIndex = LOCATE(_Delimeter, _RowData);
END WHILE;
INSERT INTO _RtnValue(description) SELECT _Data = LTRIM(RTRIM(_RowData));
select * from _RtnValue;
END
Aber wenn ich es mit dem folgenden Befehl ausführen
call Split('asdasdwdfef,rgrgtggt,weef', ',');
it gibt folgende Ausgabe aus:
id decription
1 NULL
2 NULL
3 NULL
Bitte teilen Sie mir mit, wie Sie dieses Problem beheben können. Ich benutze MySQL.