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 ;

bb

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

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

bb

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

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

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

bb

解决方案:

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

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

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

  bb

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

bb

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29785807/viewspace-2648774/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29785807/viewspace-2648774/

你可能感兴趣的:(数据库)