table1
2006/6/1
2006/6/13
2006/6/11 12:00
请问我选择查询时间为2006/6/1时,如何读取满足条件的信息:
select * from table1 where data like '"+data+" %'
结果不正确,请指教!

解决方案 »

  1.   

    --tryselect * from table1 where data like ''''+"data+" '%'''
      

  2.   

    你查询 当data变量为2006/6/1时,你想查出哪条记录?仅第一条,还是三条都要?
    如果三条都要,你的写法就可以了。
    如果仅第一条,将 like改成 where data='" + data + "'"如果是取 2006/6/1这一天的任意时间,比如 2006/6/1 13:00 也要取到,那么
    WHERE DATEDIFF(dd,CONVERT(DATETIME,data,111),CONVERT(DATETIME,'" + data + "',111)=0"这三种情况,你要的是哪种?
      

  3.   

    --改一下,写惯动态语句了^^;select * from table1 where data like "data+'%'
      

  4.   

    --多删了一个" -_-select * from table1 where data like "data"+'%'
      

  5.   

    少打一个括号,手误
    WHERE DATEDIFF(dd,CONVERT(DATETIME,data,111),CONVERT(DATETIME,'" + data + "',111))=0"
      

  6.   

    select * from table1 where  datediff (dd,data,'2006/6/1')=0
      

  7.   

    如果是取 2006/6/1这一天的任意时间,比如 2006/6/1 13:00 也要取到,那么
    WHERE DATEDIFF(dd,CONVERT(DATETIME,data,111),CONVERT(DATETIME,'" + data + "',111)=0"
    试用有误!
      

  8.   

    我上面写了
    -----------------------------------------
     fcuandy(要学的东西还很多) ( ) 信誉:100  2006-06-30 11:32:00  得分: 0  
     
     
       少打一个括号,手误
    WHERE DATEDIFF(dd,CONVERT(DATETIME,data,111),CONVERT(DATETIME,'" + data + "',111))=0"
    -----------------------------------------