把excel的数据导入到SQLSERVER里面,excel的字符串时间在导入sql库显示datetime 数据类型的转换产生一个超出范围的值

把excel的数据导入到SQLSERVER里面,excel的字符串时间在导入sql库显示datetime 数据类型的转换产生一个超出范围的值

这是我Excel导入的数据,准备把这个varchar(50)时间导入我的userInfo表中的出生日期字段datatime,如果你的数据正常,是可以导入的,

但是有些日期可能超出datatime的最大最小的范围,此时会出错显示

从 nvarchar 数据类型到 datetime 数据类型的转换产生一个超出范围的值

因我的数据比较多,有些日期我也不知道是是什么情况。先过滤一下超出datatime的最大最小的范围

把excel的数据导入到SQLSERVER里面,excel的字符串时间在导入sql库显示datetime 数据类型的转换产生一个超出范围的值

最后还是不行,

于是我判断了一下我的日期,

select *,CAST(SUBSTRING(出生日期,1,10) as datetime) from (
select *,SUBSTRING(出生日期,1,10) as rq from UserInfo
) as a
where ISDATE(a.rq)=1

发现,正确的日期被选出来了,于是我把正确的日期插入我到的datetime字段里面了,剩下的数据都是日期有问题的,可以用

ISDATE做下过滤看看情况。