20190626-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 表格
在这里插入图片描述
欢迎关注我的微信公众号"IT小Chen"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值