您的位置:首页 > 数据库

使用SQL除掉文本中特殊的ASCLL字符比如ENTER,TAB,空格键

2015-11-03 15:58 363 查看


使用SQL除掉文本中特殊的ASCLL字符比如ENTER,TAB,空格键

      在将数据库中的数据导出到Excel中时,如果文本中含有tab键,enter键,空格键,但是放在datatable中或者在datagridview中显示时也无法看出异常。
但是将数据导出到Excel或者CSV文件中时,就会出现格式不一致了。怎么用SQL将这些特殊的ASCII字符清除掉呢?
下面我提供下我的解决方案:
示例在SQL Server 2008中测试通过了。
--替换了文本中含有tab键,Enter键,空格键的ascii码
select REPLACE(REPLACE(REPLACE(Mobile,CHAR(9),''),CHAR(10),''),CHAR(13),'')

from T_Employee

where EmployeeCode='CX21262.21594'
 
首先使用了:replace ('field_name','from_str','to_str')这个系统函数,
说明:
cdb_name    该字符或字符串所在表的名字 

field_name   该字符或字符串所在字段的字段名 

from_str      需要替换的字符串 

to_str         替换成的字符串
 
--替换回车

UPDATE table_name

SET field_name=REPLACE(field_name,CHR(13),'')

WHERE INSTR(field_name,CHAR(13))>0 

--替换换行

UPDATE table_name

SET field_name=REPLACE(field_name,CHR(10),'')

WHERE INSTR(field_name,CHAR(10))>0
--替换空白

UPDATE table_name

SET field_name=REPLACE(field_name,CHR(10),'')

WHERE INSTR(field_name,CHAR(9))>0table_name:表名

field_name:列名
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 sql