SQLServer中Tab製表符的影響

chenoracle發表於2019-06-26


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 ;

SQLServer中Tab製表符的影響

--- 連同標題一起復制    execl 表格

由於有 Tab 製表符,導致 Execl 自動換列, execl 表格裡的資料並不是我們預期的;

SQLServer中Tab製表符的影響

--- 檢視含有 Tab 製表符的行

--- 檢視含有 Tab 製表符的行 (Tab 製表符 對應 char(9))

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

SQLServer中Tab製表符的影響

解決方案:

查詢資料時將 Tab 製表符 替換 空格或者其他符合;

--- Tab 製表符替換成空格

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

  SQLServer中Tab製表符的影響

--- 連同標題一起復制   execl 表格

SQLServer中Tab製表符的影響

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2648774/,如需轉載,請註明出處,否則將追究法律責任。

相關文章