使用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:列名

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM