我有一个表
id   title   smalldatetime
1     aa     2006-11-14 6:59:00
2     bb     2006-11-14 12:59:00
3     aa1    2006-11-14 20:12:00
4     bb1    2006-11-13 12:59:00
.
.
.
我现在想查询2006-11-14的记录
不知道除了
select * from table where smalldatetime like '%2006-11-14%'有没其他的方法了!

解决方案 »

  1.   

    select * from table where datadiff(d,smalldatetime,getdate())=0
      

  2.   

    select * from table where charindex('2006-11-14',smalldatetime)>0
      

  3.   

    错了,应该是 select * from table where datadiff(day,smalldatetime,getdate())=0这个效率应该比 like 高
      

  4.   

    select * from  table where convert(char(12),smalldatetime,112)='20061114'这样会不会快点。
      

  5.   

    select * from tb where convert(varchar(10),smalldatetime,120)='2006-11-14'
      

  6.   

    select * from table where smalldatetime >= '2006-11-14' and smalldatetime < '2006-11-15'
      

  7.   

    select * from table where smalldatetime >= '20061114' and smalldatetime < '20061115'
    can be used for any language
      

  8.   

    select * from tb where cast(smalldatetime,varchar(10))='2006-11-14'