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