你要用字符类型比较那么两边都应该是字符类型的。你前一个SQL也应该用Cast转成字符型。

解决方案 »

  1.   

    Cast(ApplyTime as varchar(20))
      

  2.   

    where 条件中ApplyTime是日期型的,与字符型的比较当然不行
      

  3.   

    应该是时间后面有分秒.你用这个试试:
    set   @SQL='select   CustomerNo,sum(PayCost)   PayCost   from   CustomerPay   where   state=1   and   ApplyTime> ='''   +     Cast(varchar(20),@StartTime,112)   +   '''   and   ApplyTime <='''+   convert(varchar(20),@endTime,112)   +   '''   group   by   CustomerNo'