2

3 つの異なる MySQL 変数にAAA-BBB-CCCを割り当てる必要があります。

失敗したコードは次のとおりです。

DELIMITER $$
USE `testdepot`$$
DROP PROCEDURE IF EXISTS `sp_test_dlr`$$
CREATE PROCEDURE `sp_test_dlr`(IN id VARCHAR(250),OUT temp1 VARCHAR(50)
,OUT temp2 VARCHAR(50),OUT temp3 VARCHAR(50))
BEGIN
DECLARE t1 VARCHAR(100);
DECLARE t2 VARCHAR(100);
DECLARE t3 VARCHAR(255);
SET @t1 = SUBSTRING_INDEX(id, '-', 1);
SET @t2 = SUBSTRING_INDEX(id, '-', -1);
SET @t3 = SUBSTRING_INDEX(id, '-', -1);
SELECT @t1 INTO temp1;
SELECT @t2 INTO temp2;
SELECT @t3 INTO temp3;
END$$
DELIMITER ;

上記のAAA-BBB-CCC文字列を分離するにはどうすればよいですか?

4

1 に答える 1

4
SET @t3 = SUBSTRING_INDEX(SUBSTRING_INDEX(id, '-', -2), '-', 1);

他の方法もありますが、私はこれがとても面白いと思います:)

于 2013-06-14T15:15:15.790 に答える