我的摸个表中的一字段 saleTime
                    2004-7-1 10:20:11
                    2004-7-1 11:21:10
                    2004-8-1 10:22:22
我想用 select * from tablename where saletime like '2004-7-1%'
查出7-1号这一天的记录,怎么什么也找不到啊
而用   select * from tablename where saleTime like '%2004%'可以找到2004年的呢?
请高手赐教

解决方案 »

  1.   

    select * from tablename where saletime >= '2004-7-1' and saletime < '2004-7-2'
    select * from tablename where year(saletime) = 2004
      

  2.   

    我的意思就是用  like 而不用 > < 了
      

  3.   

    用like我没查出来,对日期类型在SQL Server数据库中一般这样做,你试一下:
    select * from tablename where Convert(char(8), saletime, 120) = '2004-7-1'
      

  4.   

    select * from tablename where Convert(Char(10), saletime, 120) like '2004-7-1%'
      

  5.   

    DateTime实际是一个浮点类型,不能like用楼上的方法先将datetime转为字符串,就可以用like
    Convert(char(10), saletime, 120) like '2004-01-01'
      

  6.   

    我试了一下.对于日期字段好像是作like 不行.用等号可以.
    关注.
      

  7.   

    你这样也达不到目的
    select * from tablename where saletime like '2004-7-1%'
    7月十几号的记录都出来了,问题就不是这样解决的。
    即使你永各种手法做出来了,也是得不偿失,写代码要尽量简单、易懂!