【问题标题】:Want to Split string in mysql using SUBSTRING_INDEX想要使用 SUBSTRING_INDEX 在 mysql 中拆分字符串
【发布时间】:2013-06-14 15:01:48
【问题描述】:

我需要在 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 字符串?

【问题讨论】:

  • 请确认@t1@t2按预期受到影响,但问题仅限于@t3

标签: php mysql string split


【解决方案1】:
SET @t3 = SUBSTRING_INDEX(SUBSTRING_INDEX(id, '-', -2), '-', 1);

还有其他方法可以做到这一点,但我觉得这个很有趣:)

【讨论】:

  • 您在声明的最后一部分缺少一个逗号SET @t3 = SUBSTRING_INDEX(SUBSTRING_INDEX(id, '-', -2), '-', 1);
猜你喜欢
  • 2012-04-06
  • 2011-04-24
  • 1970-01-01
  • 1970-01-01
  • 2015-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-17
相关资源
最近更新 更多