日期:2014-05-17 浏览次数:20552 次
select convert(smalldatetime,col) from table_1 --转换一下看看是否成功?
------解决方案--------------------
datetime 是 1753-1-1 到 9999-12-31 smailldatetime 是1900-01-01 到 2079-06-06 你试试下面的语句,看有超出范围的没有 超出了你要么删掉,要吗把smailldatetime 改成datetime 这个你看着弄 select 日期字段 from A..Table_1 where 日期字段<'1900-01-01' or 日期字段>'2079-06-06'
------解决方案--------------------
smalldatetime:从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据精确到分钟。
datetime:从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确度为百分之三秒(等于 3.33 毫秒或 0.00333 秒)。
你把Table_1中不屬於smalldatetime的數據排除在外不執行導入就可以了,或直接更新時間為null,然後重新執行導入
------解决方案--------------------
一般这种导入选择最大范围的作为标准,由于绝大多数应用都不需要处理1753年之前的数据,所以你可以放心把datetime转为smalldatetime然后再存到表2中。并且也不会影响数据的精确性。
插入时转换一下表一的日期格式就可以了:convert(smalldatetime,列)