MySQL - 从字符串返回2个不同字符的最左边的字符

时间:2016-03-16 20:39:58

标签: mysql string split

我有一个数据库,其中一些代码由/或 - 分隔,我只想显示左侧,这是数据的一个示例:

45/84
12/753
68-53
15742-845
2/556

所以,我想得到这个:

45
12
68
15742
2

我尝试使用LEFT(),但这只搜索1个字符,如果找不到该字符则返回警告,这就是LEFT(字段,'/')返回的内容。

45
12
(WARNING)
(WARNING)
2

那么,REGEXP怎么样? 一个IF? 从第一个非数字字符中忽略的任何方法?

我没有更多想法......

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用此声明执行此操作。将字符串'15742/845'替换为您的字段名

SELECT SUBSTRING_INDEX( REPLACE('15742/845','/','-'), '-', 1)

答案 1 :(得分:1)

试试这个:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(col, '-', 1), '/', 1)
FROM mytable

Demo here