我需要导入一个带有datetime列的扁平csv文件 - 'ExecutionDateTime'。此列可以包含空值,例如:
我将此导入到现有表中,ExecutionDateTime列设置为Datetime2。
ExecutionDateTime datetime2,
当我使用SQL Server导入导出向导导入时,对于空行,我得到“ 0001-01-01 00:00:00.0000000 ”的值。我希望它读取NULL。
ExecutionDateTime列设置为Datetime2。
当前行为:
预期:
我正在使用SQL Server 2012.
任何指针?
答案 0 :(得分:1)
我认为向导无法做到这一点。但是,你可以在导入中使用case语句......
insert into mytable
select
Id
,case when ExecutionDateTime = '' then null else ExecutionDateTime end
from --openrowset, etc...
或者,你可以随时修复它,如果数据集很小0r你正在使用临时表......
update mytable
set ExecutionDateTime = null
where ExecutionDateTime = ''
以下是使用BULKINSERT
的示例