我用delphi操作按时间段来查询数据,
select * from ykt_mk_membersys where  YKT_Mk_MemberSys42>=date_format('2011-1-1','%y-%m-&d') and YKT_Mk_MemberSys42<=date_format('2011-11-1','%y-%m-&d')  order by YKT_Mk_MemberSys42 desc
这样好像不行
我记得ORALCE里面是可以直接用todate('2011-1-1','yyyy-mm-dd')的,请赐教

解决方案 »

  1.   

    如果你的YKT_Mk_MemberSys42字段是日期型,则可以直接如下。
    select * from ykt_mk_membersys 
    where  YKT_Mk_MemberSys42>='2011-1-1'
    and YKT_Mk_MemberSys42<='2011-11-1'
    order by YKT_Mk_MemberSys42 descMYSQL会自动进行转换,不必象ORACLE中需要使用TO_DATE来转换字符串为日期。
      

  2.   

    select * from ykt_mk_membersys where YKT_Mk_MemberSys42>=date_format('2011-1-1','%y-%m-&d') and YKT_Mk_MemberSys42<=date_format('2011-11-1','%y-%m-&d') order by YKT_Mk_MemberSys42 desc
    这样好像不行Y是大写的,怎么不行?
      

  3.   

    非常感谢你们的回答。其实这样也可以:
    select * from ykt_mk_membersys where (YKT_Mk_MemberSys10<>'''' or YKT_Mk_MemberSys10 is not null) and (YKT_Mk_MemberSys42 between DATE_SUB(''' + firstdate + ''',INTERVAL 1 DAY) and DATE_SUB(''' + lastdate + ''',INTERVAL 1 DAY)) order by YKT_Mk_MemberSys42 desc我在网上找到的资料,呵呵,谢谢!