select getdate()2009-12-15 15:53:17.070
我现在只要求保留2009-12-15,后面的全部不要。像select convert(varchar(10),getdate(),120)这样的不符合我的要求,都成字符类型了。
select left(getdate(),10) 的话,结果是12 15 2009。
该怎样才能变成2009-12-15啊,一定还是要datetime类型的哦。

解决方案 »

  1.   

    字符格式的和datetime格式的可以相互转换 你怕什么?
      

  2.   

    where convert(varchar(10),getdate(),120) = '2009-12-15'
    ...
      

  3.   

    用getdate是可以的,直接存进表里,查询的时候用这样的语句来查就能查到
    WHERE (建档日期 > '2009-12-15 00:00:00') AND (建档日期 < '2009-12-16 23:59:59')
    把开始的时间定为当天的零点整,结束时间定为当天最后一秒,这样就能查得到了,别老钻牛角尖想去转换了,哈哈
      

  4.   

    这样可以得到的
    select left(convert(varchar(20),getdate(),120),10)
    ----------
    2009-12-15
    ----------
      

  5.   

    cast(convert(varchar(10),getdate(),120) as datetime)这样子就可以了。。看到8楼想到的。。