MySQL没有split函数的替代方法

select  diff_range,
       CAST(
            if(
                LOCATE('-', diff_range)>0,
                substring(
                    diff_range, 1, LOCATE('-', diff_range)
                ) ,
                diff_range
            )
            as SIGNED  INTEGER
       )   a
  from test
where `ds` = '20180110'

mysql的函数没有split,只能自己取字符串的index。

结果如下

diff_range       a
1 1 2 2 3-5 3 6-8 6 100-200 100

 

posted @ 2018-01-11 14:34  卡路西法  阅读(1073)  评论(0)    收藏  举报