在我的MYSQL表上,我有以下字符串:
24015902-C-72
24018504-147
我需要提取这些输出:
24015902 C-72
24018504 147
我已经尝试过该查询:
mysql> SELECT
SUBSTRING_INDEX('24015902-C-72', '-', 1) AS ResultString1,
SUBSTRING_INDEX('24015902-C-72', '-', - 1) AS ResultString2,
SUBSTRING_INDEX('24018504-147', '-', 1) AS ResultString3,
SUBSTRING_INDEX('24018504-147', '-' ,- 1) AS ResultString4;
+---------------+---------------+---------------+---------------+
| ResultString1 | ResultString2 | ResultString3 | ResultString4 |
+---------------+---------------+---------------+---------------+
| 24015902 | 72 | 24018504 | 147 |
+---------------+---------------+---------------+---------------+
1 row in set
mysql>
但是在此字符串24015902-C-72
上,C-
的值丢失了。
该如何解决?
答案 0 :(得分:1)
SUBSTRING_INDEX(string, delimiter, number)
string
:The original string
delimiter
:搜索
number
:搜索定界符的次数。可以是正数或负数。如果它是一个正数,则此函数将全部返回到定界符的左侧。如果它是负数,则此函数将全部返回到定界符的右侧。
对于我们的第二个语句,它应该像这样工作:
SELECT SUBSTRING_INDEX("24015902-C-72", "-", -2);