SQL导入EXCEL,当某列出现混合类型时的问题
SQL导入EXCEL,当某列出现混合数据类型时,直接导入数据将会使数据被强制转换(如转换为科学计数法等)
解决此问题可以将EXCEL另存为.csv格式的文件,采用BULK INSERT 导入数据
USE [Usp30_湖北联通]
GO
IF OBJECT_ID('tempdb..#temp') IS NOT NULL
DROP TABLE #temp
CREATE TABLE #temp
(
R1 VARCHAR(50),
R2 VARCHAR(50),
R3 VARCHAR(50),
R4 VARCHAR(50),
R5 VARCHAR(50)
)
--select *,CONVERT(NVARCHAR(50),音乐盒编号) AS t1 into #temp from
--
--OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
--
--,'Excel 5.0;HDR=YES;IMEX=1; --此处将IMEX设置为1,强制文本类型也没有作用
--DATABASE=d:temp\王菲抢票活动资源订购情况.xls',sheet1$)
--下面方法可以解决此问题
BULK INSERT #temp FROM 'd:\temp\王菲抢票活动资源订购情况.csv'
WITH (CHECK_CONSTRAINTS,CODEPAGE='RAW',DATAFILETYPE='char',FIELDTERMINATOR=',',ROWTERMINATOR='0x0a',FIRSTROW=1,KEEPNULLS)
select * from #temp
                    
                
                
            
        
浙公网安备 33010602011771号