select p.id, p.siteid, p.submitor, p.date, p.type, p.summery, p.status from prob
lem p, site s, account a where p.siteid=s.id and s.accountid=a.id and a.disable=
0 and s.disable=0 and p.disable=0 and p.id=15 and DATE_FORMAT(p.date,'%Y-%m-%d')= '2008-11-12' order by p.id
这句话会出错,但如下的语句没错
select id, siteid, submitor, date, type, summery, status from problem where disable=0 and DATE_FORMAT(date,'%Y-%m-%d')= '2008-11-12' order by id应该怎么改。多谢各位。

解决方案 »

  1.   

    p.date中内容是否有NULL OR 不符合日期格式的记录
      

  2.   

    没有,即使有的话
    select id, siteid, submitor, date, type, summery, status from problem where disable=0 and DATE_FORMAT(date,'%Y-%m-%d')= '2008-11-12' order by id 这句也应该出错。
    可能是mysql版本太老了。
    请问大侠,怎样避免那个错误,应该怎么改,有没有匹配前多少个字符串之类的函数来代替DATE_FORMAT
      

  3.   

    有没有匹配前多少个字符串之类的函数来代替DATE_FORMAT
    mid left right 不行?
      

  4.   

    多谢帮忙,但是也不行。和DATE_FORMAT的问题一样。查询单个表可以。多个就出错。