1。为什么会出错
你有sqlserver不认识的时间格式,或部分错误数据
2。如何成功转换?
先转换到一个varchar类型的中间表中,到sqlserver里再:
insert 你的表 select * from 中间表 where isdate(列)=1
导入

解决方案 »

  1.   

    1,先按字符型录把数据导到SQL中2,设置DATEFORMAT转换日期字段. Transact-SQL 参考  
    SET DATEFORMAT
    设置用于输入 datetime 或 smalldatetime 数据的日期部分(月/日/年)的顺序。 语法
    SET DATEFORMAT { format | @format_var } 参数
    format | @format_var是日期部分的顺序。可以是 Unicode 或转换为 Unicode 的 DBCS。有效参数包括 mdy、dmy、ymd、ydm、myd 和 dym。美国英语默认值是 mdy。注释
    该设置仅用在将字符串转换为日期值时的解释中。它对日期值的显示没有影响。SET DATEFORMAT 的设置是在执行或运行时设置,而不是在分析时设置。权限
    SET DATEFORMAT 权限默认授予所有用户。示例
    下例使用不同的日期格式处理不同格式的日期字符串。SET DATEFORMAT mdy
    GO
    DECLARE @datevar datetime
    SET @datevar = '12/31/98'
    SELECT @datevar
    GOSET DATEFORMAT ydm
    GO
    DECLARE @datevar datetime
    SET @datevar = '98/31/12'
    SELECT @datevar
    GOSET DATEFORMAT ymd
    GO
    DECLARE @datevar datetime
    SET @datevar = '98/12/31'
    SELECT @datevar
    GO
    请参见数据类型datetime 和 smalldatetimeSET©1988-2000 Microsoft Corporation。保留所有权利。