SQL Server导入和导出向导日期时间问题

时间:2018-04-24 17:43:12

标签: sql-server ssms ssms-2012 sql-import-wizard

我需要导入一个带有datetime列的扁平csv文件 - 'ExecutionDateTime'。此列可以包含空值,例如:

enter image description here

我将此导入到现有表中,ExecutionDateTime列设置为Datetime2。

ExecutionDateTime   datetime2,

当我使用SQL Server导入导出向导导入时,对于空行,我得到“ 0001-01-01 00:00:00.0000000 ”的值。我希望它读取NULL。

ExecutionDateTime列设置为Datetime2。

当前行为:

enter image description here

预期:

enter image description here 这可能吗?

我正在使用SQL Server 2012.

任何指针?

1 个答案:

答案 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

的示例
相关问题