oracle数据库去除字符串首尾空格,空格的数量不一定

oracle数据库内有一列字符串类型的带空格数值,如" 0.12   ",这个前后空格的数量不一定,主要是填报的人不注意,空格的数量可能会有很多,也可能只有一两个个,或者没有。

目前使用ltrim和rtrim方法只能删除一个空格的情况,对于多个空格的好像不能实现,继续嵌套也不能删除。所以有没有什么方法吧多余的空格删掉,或者是将这个类型转为数字类型。我试过百度的方法替换特殊字符,但是没成功。我做过一个测试:填报人填上来的带空格的数值,跟我自己用UPDATE设置的带空格的数字,使用trim方法的结果不一致。用update修改的使用trim可以删掉所有空格,但是填报人填报的数据就不行

1195460660 发布于 2021-3-17 14:37 (编辑于 2021-3-17 14:46)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
ScyalcireLv7中级互助
发布于2021-3-17 14:40(编辑于 2021-3-17 14:56)

直接用trim()  前后一起去空格的

image.png

  • 1195460660 1195460660(提问者) 我刚刚修改了下问题,就是我自己使用update修改数据为带空格的字符串,然后使用trim可以去掉,但是如果是用户从前端填报的数据,就不行,只能删除一个空格,或者不删除空格,更多的时候会显示空
    2021-03-17 14:47 
  • Scyalcire Scyalcire 回复 1195460660(提问者) 填报也是用帆软填报的吗?是的话那就从源头改,在填报属性里面写公式,直接替换掉
    2021-03-17 14:49 
  • 1195460660 1195460660(提问者) 回复 Scyalcire 不是,是用的别的系统软件,相当于一个记录数据的页面。
    2021-03-17 14:50 
  • Scyalcire Scyalcire 回复 1195460660(提问者) replace()函数也没有用的话 我也不知道了
    2021-03-17 14:55 
  • 1195460660 1195460660(提问者) 回复 Scyalcire 好的,谢谢。我这边明天试一下,因为挺奇怪的,我现在自己建立的数据使用trim都能生效,但是用户之前填的数据确实是无法生效的。
    2021-03-17 15:39 
最佳回答
0
axingLv6专家互助
发布于2021-3-17 14:43

试试直接用字段乘以1

如 select 字段*1 as a from dual

  • 3关注人数
  • 662浏览人数
  • 最后回答于:2021-3-17 14:56
    请选择关闭问题的原因
    确定 取消
    返回顶部