急求用plsql 如何去掉字符串的前后全角和半角空格

比如'1234'去空格后变为‘1234’其中首尾的全半角空格穿插着出现... 比如'   1  234     ' 去空格后变为‘1  234’其中首尾的全半角空格穿插着出现 展开
 我来答
wumingchenxin
推荐于2017-12-16 · TA获得超过1271个赞
知道大有可为答主
回答量:1491
采纳率:87%
帮助的人:241万
展开全部
oracle中可以用regexp_replace
select regexp_replace(字段名,'正则表达式','替换目标') from 表
正则表达式:可以用正则语法来写,比如用\s ,这个匹配比较多,包括回车换行等。如果你字段中有其他特殊字符的话,就不能用这个了。也可以直接用 半角空格,全角空格代替,'[半角空格全角空格]'
替换目标:如果你想删除的话,就用‘’就行了。
当然上面的写法,只是select ,没有改变表中的实际数据,如果要改表,请用update
更多追问追答
追问
这样替换的话会把中间的全半角空格去掉,我中间的全半角空格想保留
追答
你可以用trim函数
select trim('半角空格' from trim('全角空格' from 字段)) from 表
不过,这有一个缺陷,如果字段前后,是纯粹的半角,或者全角,都没关系,
但是如果是半角全角乱七八糟的混合,就不行了。
具体你自己测试一下
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式