如何为 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
我尝试从 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