select * from pm_printerjobs join pm_printers on  pm_printerjobs.job_pagesprinted = pm_printers.printer_id 
where job_starttime>'2009-01-01 00:00' and job_starttime<'2009-02-01 00:00'语句我换成
select * from pm_printerjobs join pm_printers on  pm_printerjobs.job_pagesprinted = pm_printers.printer_id 
where job_starttime like'2009-01'后怎么查不到数据?请指教,谢谢!

解决方案 »

  1.   

    想找日期是以2009-01开始的数据? 
    那就如下
    select * from pm_printerjobs join pm_printers on  pm_printerjobs.job_pagesprinted = pm_printers.printer_id 
    where job_starttime like'2009-01%'
      

  2.   

    数据格式可能不一致
    换成
    where job_starttime like'%2009-01%'  试试
      

  3.   

    没见过时间还能用Like的select * from pm_printerjobs join pm_printers on  pm_printerjobs.job_pagesprinted = pm_printers.printer_id 
    where job_starttime like'2009-01'后怎么查不到数据?请指教,谢谢!改一下select * from pm_printerjobs join pm_printers on  pm_printerjobs.job_pagesprinted = pm_printers.printer_id 
    where DATEDIFF(m, job_starttime, '2009-01-01') = 0 --2009年1月份的才显示
      

  4.   

    convert(varchar, job_starttime ,20) like '2009-01%'
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
      

  5.   


    select * from pm_printerjobs join pm_printers on  pm_printerjobs.job_pagesprinted = pm_printers.printer_id 
    where convert(char(10),job_starttime,120 )like '2009-01%'  --job_starttime 是Datatime类型,要转换成字符
      

  6.   

    select * from pm_printerjobs join pm_printers on  
    pm_printerjobs.job_pagesprinted = pm_printers.printer_id 
    where LEFT (CONVERT(VARCHAR(7),job_starttime)='2009-01'