如何为 csv 中遗漏的列输入空值?

How to enter null for missed columns in csv?

我尝试从 csv 文件执行批量插入。

我的 csv 文件有 7 列,但 table 包含 8 列。

如果我的 table 只有 8 列,我可以使用以下查询执行批量插入。

BULK INSERT Table_Name FROM 'E:\file\input.csv' WITH (ROWTERMINATOR = '0x0A',CODEPAGE = 'ACP',FIELDTERMINATOR = ',',KEEPNULLS, ROWS_PER_BATCH = 10000) 

但我的 csv 仅包含 7 列,这导致以下错误..,

Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 8 (datecolumn).

任何人都可以建议我如何在不使用 FormatFile 的情况下解决这个问题吗?

创建一个包含 7 列的视图并将其插入到该视图中。

列数较少的示例:

CREATE TABLE test_table(col1 int, col2 int, col3 int)
go

CREATE VIEW v_test_table
as 
SELECT col1, col2
FROM test_table

go

INSERT v_test_table
SELECT 1,2

go

SELECT * FROM test_table