[SQL SERVER][TSQL]利用BLUK INSERT讀取Txt檔案匯入Table
網友問題,自己實作並記錄。
是否有方法可以用數char長度的方式import txt檔??
declare @sql varchar(8000)
declare @content varchar(8000)
declare @qrysql varchar(8000)
set @qrysql='select * from test1'
--create target table
create table test1
(
c1 varchar(100),
c2 varchar(100),
c3 varchar(100)
)
--create stage table
create table test2(
c1 varchar(4000) null
)
--load text file to stage table
BULK INSERT test2
FROM 'e:\mydata.txt'
--insert into target table
select @content=c1 from test2
set @sql='insert into test1 select '''+
SUBSTRING(@content,1,5)+ ''','''+ SUBSTRING(@content,6,5)+''','''+SUBSTRING(@content,11,3)+''''
exec(@sql)
--show result
exec(@qrysql)
txt檔案內容
結果
不過像這樣的需求,自己還是會比較建議寫個小程式來處理比較好。
參考