declare @t table(dt datetime)
insert @t select '18:06:55'select * from @t where dt='1900-01-01 18:06:55'/*--结果:
dt                                                     
------------------------------------------------------ 
1900-01-01 18:06:55.000(所影响的行数为 1 行)
---*/

解决方案 »

  1.   

    应该是楼主自己的SQL有问题,你测试一下我上面的如果你的SQL没有装补丁,先装上再说.
      

  2.   

    我在查询分析器中执行了邹的语句,是1900年的,但是如果打开table手工输入时间(无日期)还是默认为1899年,把我弄晕了
      

  3.   

    zanyzyg(猪油果) ,aliren(阿里人)这两位兄台说得好象有点儿道理?
    不要跟我说是sql server的bug?
      

  4.   

    倒,企业管理器中的插入竟然是用这样的语句,看来没话好说:exec sp_executesql N'INSERT INTO "tempdb".."tb" ("a","id") VALUES (@P1,@P2)', N'@P1 datetime,@P2 int', '12 30 1899  6:06:55:000PM', 3
      

  5.   

    应该理解为sql 企业管理器的bug
      

  6.   

    把表结构改了吧,时间和日期各占一个 varchar 字段
      

  7.   

    呵呵 SQL的BUG 第一次听说 学习一下