经过验证,只有2077年以前的日期可以正常被导入,以后的日期就会不正常——至于准确的分界值,我还没有试出来。
我看了SQL 2000的描述,说smalldatetime数据类型可以支持1900到2079年6月6号的日期,但是为啥我把日期改成2079年5月4号都没法被正常导入呢?
自己顶一下,请大家帮忙,谢谢。

解决方案 »

  1.   

    另外,我看邹老大的过程中有这么一段:
    --创建表的SQL
    select @sql='',@fdlist=''
    select @fdlist=@fdlist+',['+a.name+']'
     ,@sql=@sql+',['+a.name+'] '
      +case 
       when b.name like '%char' 
       then case when a.length>255 then 'memo'
        else 'text('+cast(a.length as varchar)+')' end
       when b.name like '%int' or b.name='bit' then 'int'
       when b.name like '%datetime' then 'datetime'
       when b.name like '%money' then 'money'
       when b.name like '%text' then 'memo'
       else b.name end
    我不知道是不是这里对数据有了什么操作?另外,我的表格里面,出问题的那一列的属性,是datetime格式的。
    真心求助,多谢多谢
      

  2.   

    datetime类型可以。从1753至9999年。
      

  3.   

    自己再顶一下。
    datetime格式是可以支持到9999年,但是问题就是,SQL 2000表中那一列用的本来就是datetime格式,按道理2083年是没有问题,可以支持的,不应该说存在导出到excel格式时溢出吧?除非过程中有个地方要把这列的数据格式转换成smalldatetime格式……
      

  4.   

    again..我感觉我自己在自问自答……
    为什么在家里面电脑上,自己尝试了一下,随便创建了一个excel表格,有一列日期从2070年7月10号,到2088年7月10号,然后倒入sql,没问题;再导回到excel,也没问题;倒来倒去,怎么都没问题,而到单位机器上就不行?看来一定有哪里不对头了……
      

  5.   

    看来 重启-->重装软件-->重装系统-->换机子 才是王道啊。。呵呵
      

  6.   

    回到单位,还是不行。只要日期超过2080年1月1号,就会溢出。
    我在单位用的数据机的XP只打了SP1,请问这个有没有可能是问题原因?