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
表格

