如何分隔字符串,然后删除 MySQL 中分隔字符串的第一部分
How to separate strings and then remove first part of seperated string in MySQL
我想删除分隔字符串的第一部分和逗号。但是,我不能简单地使用删除字符串前三个字符的查询,因为字符长度不同(即第 10 个)。
原始数据:
1st,4000;2nd,1200;3rd,600;4th,200;total_value,6000;
分隔字符串的代码:
SELECT
SUBSTRING_INDEX((SUBSTRING_INDEX(PrizeMoneyBreakDown,';',1)),';',-1) AS 1st,
SUBSTRING_INDEX((SUBSTRING_INDEX(PrizeMoneyBreakDown,';',2)),';',-1) AS 2nd
FROM race2
代码输出(分隔字符串):
1st,4000
2nd,1200
代码的期望输出:
4000
1200
如果您 运行 MySQL 8 岁以上,那么 REGEXP_SUBSTR
在这里工作:
SELECT
REGEXP_SUBSTR(PrizeMoneyBreakDown, '[0-9]+', 1, 2) AS first,
REGEXP_SUBSTR(PrizeMoneyBreakDown, '[0-9]+', 1, 4) AS second
FROM race2;
我想删除分隔字符串的第一部分和逗号。但是,我不能简单地使用删除字符串前三个字符的查询,因为字符长度不同(即第 10 个)。
原始数据:
1st,4000;2nd,1200;3rd,600;4th,200;total_value,6000;
分隔字符串的代码:
SELECT
SUBSTRING_INDEX((SUBSTRING_INDEX(PrizeMoneyBreakDown,';',1)),';',-1) AS 1st,
SUBSTRING_INDEX((SUBSTRING_INDEX(PrizeMoneyBreakDown,';',2)),';',-1) AS 2nd
FROM race2
代码输出(分隔字符串):
1st,4000
2nd,1200
代码的期望输出:
4000
1200
如果您 运行 MySQL 8 岁以上,那么 REGEXP_SUBSTR
在这里工作:
SELECT
REGEXP_SUBSTR(PrizeMoneyBreakDown, '[0-9]+', 1, 2) AS first,
REGEXP_SUBSTR(PrizeMoneyBreakDown, '[0-9]+', 1, 4) AS second
FROM race2;