SQLServer中Tab制表符的影响


SQLServer Tab 制表符的影响

 

环境:

DB:SQLServer2012

OS:Windows Server 2012

问题:

SQLServer 数据中包含 Tab 制表符,将数据导出到 execl 时,包含 Tab 制表符的字段自动换列了,导致数据不准确;

问题重现:

create database chenjchdb ;

use chenjchdb

create table test01 ( id int , rname varchar (1000 ), ctime date );

insert into test01 values (1 , 'a' , getdate ());

--b b 之间是 Tab 制表符

insert into test01 values (2 , 'b  b' , getdate ());

---c 后是 Tab 制表符

insert into test01 values (3 , 'c  ' , getdate ());

select * from test01 ;

--- 连同标题一起复制    execl 表格

由于有 Tab 制表符,导致 Execl 自动换列, execl 表格里的数据并不是我们预期的;

--- 查看含有 Tab 制表符的行

--- 查看含有 Tab 制表符的行 (Tab 制表符 对应 char(9))

Select   * from test01  where rname like '%' + char (9 ) + '%' ;

解决方案:

查询数据时将 Tab 制表符 替换 空格或者其他符合;

--- Tab 制表符替换成空格

select id , REPLACE ( rname , CHAR (9 ), ' ' ) rname , ctime from test01 ;

 

--- 连同标题一起复制   execl 表格

请使用浏览器的分享功能分享到微信等