我正在尝试将大量CSV文件插入SQL Server(2016)表中。其中一个CSV文件包含空值,例如:
ID, VALUE, DATE
235425, 34, '2018-05-08'
234567, , '2018-05-08'
233456, 67, '2018-05-08'
我正在运行的进程尝试将此值插入BIGINT列,并且空值似乎正在中断该进程,从而导致以下错误消息:
将数据类型nvarchar转换为bigint时出错
有人能说明调试/解决此问题的最佳步骤吗?
答案 0 :(得分:0)
根据经验,您应该首先将所有数据按原样插入到临时表中。这有两个好处:
您还可以使用带有TRY_PARSE或TRY_CONVERT或TRY_CAST
函数的查询来插入如下数据
INSERT INTO Tbl
SELECT ID,
Value= TRY_CAST(Value as bigint),
Date= TRY_CAST(Date as date)
FROM stagingTbl