使用SQL语句去除、删除数据库中的空格、回车字符的方法

标签:
sql删除去除空格回车 |
分类: 软件开发心得 |
日常在处理数据数据的时候,经常都有用户在操作一些系统时,把数据直接从Excel复制到系统,然后数据保存在数据库里边去了,但是正是这样的复制动作,把Excel的单元格的空格或者跳行(回车)的格式都保存在了数据库里边,使得查看数据或者数据在被使用的时候出现了问题,那么如何通过SQL语句可以把空格或者回车等的格式字符去掉呢?有如下的办法
1.去掉回车的字符格式:
REPLACE(filed_name,CHAR(13)+CHAR(10),SPACE(0))
其中的filed_name代表 数据库的字段名,使用时候替换即可,使用范例如下
update ieel00h set el_name1= REPLACE(el_name1,CHAR(13)+CHAR(10),SPACE(0)) where el_no like 'L%'
2.去空格
可以通过 rtrim 去除右边空格, ltrim去除左边空格 。使用范例如下:
update ieel00h set el_name1=rtrim(el_name1)
update ieel00h set el_name1=Ltrim(el_name1)
但是,当存放的数据字符串中间有太多的空格(甚至具体多少空格,是全角的还是半角输入法下的空格也不清楚),又应该如何处理呢?
一个比较保守的方法,一定凑效:
先通过SQL查询这个字段出来,
然后直接复制这个字段其中的内容,贴到空白处,
http://s10/middle/5d7c337cgb921190719d9&690
http://s11/middle/5d7c337cgb92118ff91ea&690
再选择其中的空格内容进行复制,
http://s4/middle/5d7c337cgb9211913eb13&690
再使用 replace 函數處理,如下:
update ieel00h set el_name1=REPLACE(el_name1,' ',' ') where el_no like 'A0271001%'
http://s8/middle/5d7c337cgb92119226d17&690
再査,已經只有一個空格了。
http://s1/middle/5d7c337cgb921191c8900&690