create table tb(t3 int not null,
t1 datetime default convert(varchar(10),getdate(),120),
t2 datetime default convert(varchar(10),dateadd(day,30,getdate()))
)insert into tb(t3) values(100)select *
from tb结果:100  2006-11-06 00:00:00.000    2006-12-06 00:00:00.000另外一句是:select convert(varchar(10),getdate(),120)结果是:2006-11-06为什么第一个执行的结果后面还有好几个0???

解决方案 »

  1.   

    数据类型不一样
    第一个是日期格式的,日期类型的显示是显示时分秒的
    第二个是用convert转换为varchar类型
      

  2.   

    早啊!
    create table tb(t3 int not null,
    --默认值是字符型,但是字段类型是datetime 这要做类型转换
    t1 datetime default convert(varchar(10),getdate(),120),
    --同上
    t2 datetime default convert(varchar(10),dateadd(day,30,getdate()))
    )
    数据中检索出来的 00000....代表的是时间!那是转换后的效果
      

  3.   

    因为你varchar的字符类型限制了10个字符
    select convert(varchar(40),getdate(),121)
    看看这样就不一样了