我正在使用下面的sql语句从excel电子表格读取数据并将其导入数据库表:
INSERT INTO [dbo].[TestTable] ([ColumnA], [ColumnB], [ColumnC], [ColumnD])
SELECT A.[AAA], A.[BBB], A.[CCC], A.[DDD] FROM OPENROWSET
('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\Temp\TestFile\01-TestFile.xlsx;HDR=YES', 'select * from [Sheet$]') AS A;
TestTable有四列,仅接受整数数据类型。导入可以很好地与数据库电子表格中的数字一起使用。但是,如果由于某种原因文件中有错误(即文本而不是数字),它将失败并且将nvarchar转换为int数据类型时出现错误。有什么方法可以确保上传仍然有效-文本被忽略并在表中显示为NULL?
答案 0 :(得分:2)