logo资料库

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

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
使用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) where el_no like 'L%' update ieel00h set el_name1=Ltrim(el_name1) where el_no like 'L%' 但是,当存放的数据字符串中间有太多的空格(甚至具体多少空格,是全角的还是 半角输入法下的空格也不清楚),又应该如何处理呢? 一个比较保守的方法,一定凑效: 先通过 SQL 查询这个字段出来,
然后直接复制这个字段其中的内容,贴到空白处,
再选择其中的空格内容进行复制, 再使用 replace 函數處理,如下: update ieel00h set el_name1=REPLACE(el_name1,' ',' ') where el_no like 'A0271001%' 再査,已經只有一個空格了。
附: Sqlserver 中 Replace 替换函数用法 REPLACE 函数是用第三个表达式替换第一个字符串表达式中出现的 所有第二个给定字符串表达式的方法。 语法: REPLACE ('string_expression1','string_expression2','string_expression3') 参数 'string_expression1' 待搜索的字符串表达式。string_expression1 可以是字符数据或二进制 数据。 'string_expression2' 待查找的字符串表达式。string_expression2 可以是字符数据或二进制 数据。 'string_expression3' 替换用的字符串表达式。string_expression3 可以是字符数据或二进制 数据。 返回类型: 如果 string_expression(1、2 或 3)是支持的字符数据类型之一,则 返回字符数据。如果 string_expression(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。 通俗理解的格式为: Update 表名 SET 要替换的列=REPLACE(要替换的列,被替换的字符,
替换后的字符) 示例 SQL 语句: Update tableName SET columeName = REPLACE(columeName, 'a', 'b') 示例: 下例用 xxx 替换 abcdefghi 中的字符串 cde。 SELECT REPLACE('abcdefghicde','cde','xxx') GO 下面是结果集: ------------ abxxxfghixxx (1 row(s) affected) 用 REPLACE 函数的时候要注意带 where 条件来限制,否则一旦替换出 错了,要恢复是比较麻烦的,但也不是不可逆,还是可以恢复的,就 是在相同条件下反过来再执行一次 REPLACE 函数;另外就是要注意使 用时三个表达式的格式,一般第一个都为字段名,也可能是常量,字 符串格式的都需要带单引号。 灵 活 使 用 REPLACE 函 数 能 很 好 的 解 决 一 些 棘 手 的 问 题 , 特 别 是 REPLACE 函数里还可以嵌套 REPLACE 函数。
分享到:
收藏