问题描述
遇到一个新的需求:如图将mes_id字段的特殊字符去掉。
问题分析
字段有两种情况
情况1: 有特殊字符,特殊字符与所需字符串中间有两个空格。
情况2: 无特殊字符。
解决方法
1: 使用 case when 判断上述两种情况。
2: 使用 instr(mes_id,’ ‘) 判断空格位置,当instr(mes_id,’ ‘)=0 代表无空格,当不等于零时代表的是空格的位置。
3: SQL如下
select
case when instr(mes_id,’ ‘)=0 then mes_id else left(mes_id,instr(mes_id,’ ')-1) end as mes_id
from 表名
结果
获得了所预想的数据。