在MySQL数据库上使用SUBSTRING_INDEX语法

时间:2019-01-09 11:20:15

标签: mysql substring

在我的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-的值丢失了。

该如何解决?

1 个答案:

答案 0 :(得分:1)

SUBSTRING_INDEX(string, delimiter, number)

  • stringThe original string

  • delimiter:搜索

  • 的分隔符
  • number:搜索定界符的次数。可以是正数或负数。如果它是一个正数,则此函数将全部返回到定界符的左侧。如果它是负数,则此函数将全部返回到定界符的右侧。



对于我们的第二个语句,它应该像这样工作:

SELECT SUBSTRING_INDEX("24015902-C-72", "-", -2);