create table #test
(ino int,
 price float,
 idate varchar(20))
insert #test values(1001,20.00,1998-01-01)
insert #test values(1001,30.00,1999-02-02)
insert #test values(1002,45.00,2006-10-10)
insert #test values(1002,34.00,2005-07-07)
insert #test values(1002,32.00,2007-01-01)
insert #test values(1003,10.00,2000-09-09)最后查询的时候,结果是
1001 20.0 1996
1001 30.0 1995
1002 45.0 1986
1002 34.0 1991
1002 32.0 2005
1003 10.0 1982为什么日期都变了啊,请大虾指教一下

解决方案 »

  1.   

    idate 应该定义为Datetime类型.
      

  2.   

    改成datetime或者smalldatetime型时,结果是
    1001 20.0 1905-06-20 00:00:00.000
    1001 30.0 1905-06-19 00:00:00.000
    1002 45.0 1905-06-10 00:00:00.000
    1002 34.0 1905-06-15 00:00:00.000
    1002 32.0 1905-06-29 00:00:00.000
    1003 10.0 1905-06-06 00:00:00.000
    插入的数据都没变,就是结果还是不对
      

  3.   

    字符加上单引号即可
    insert #test values(1001,20.00,'1998-01-01') 
      

  4.   

    字符加上单引号,要不sql 会认为是1998-01-01 =1996 !
    呵呵