select * from H_CheckUserInfo hcui
where substring(convert(varchar(20),hcui.checkdatetime,20),0,11)='2008-9-21'
我这样写为什么查不出来东西呢?
请指教。。谢谢。

解决方案 »

  1.   

    select * from H_CheckUserInfo hcui 
    where substring(convert(varchar(20),hcui.checkdatetime,20),0,11)='2008-09-21'
    这样试试,是不是字符串截取有错误? 
      

  2.   

    '2008-9-21' 就可以表示时间了,可以直接如下试试看:select * from H_CheckUserInfo hcui 
    where hcui.checkdatetime between '2008-9-21' end  '2008-9-22' 
      

  3.   

    那个字段是啥类型的呢
    为啥要这样取呢
    where hcui.checkdatetime >= '2008-9-21' and hcui.checkdatetime < '2008-9-22'不行么
      

  4.   

    如果hcui.checkdatetime 是datetime类型
     convert(char(10),AddDate,120) ='2008-9-22'
      

  5.   

    where convert(char(10),hcui.checkdatetime,120)='2008-09-21'
    这样就行
      

  6.   

    select * from H_CheckUserInfo hcui 
    where convert(varchar(20),hcui.checkdatetime,23) as checkdatetime ='2008-9-21'