varchar数据类型转换成datetime数据类型
declare @sql varchar(8000)
if exists (select object_id('temp_grcl'))
drop table temp_grcl
select @sql = 'select a.scph,a.cpdm,a.kh,a.jtdm,a.scsl,a.hgs,a.fps,a.rq,a.bz,
b.xm,c.gxmc,d.bz as hzxx,d.mc+''-''+d.dy+''-''+d.swsbsrl+''-''+d.djdm+''-''+d.jj+''-''+d.ts as gg,
d.mkts,d.mtzs,a.hgs/d.mkts/d.mtzs as hgks,f.fz,
case when c.gxmc = ''组装'' then case when d.mc like ''cl23b%'' then case when d.bz = ''3.5*7.5*7.2'' or d.bz = ''2.5*6.5*7.2'' then cast(a.hgs/44000.00 as dec(10,3))
when d.bz = ''4.5*9.5*7.2'' or d.bz = ''5.0*10*7.2'' then cast(a.hgs/34000.00 as dec(10,3))
when d.bz = ''6.0*11*7.2'' then cast(a.hgs/30000.00 as dec(10,3)) end
when d.mc = ''cl25'' then cast(a.hgs/30000.00 as dec(10,3)) end
when c.gxmc = ''卷绕'' then a.hgs/d.mkts/d.mtzs*f.fz
end as wcgs
into temp_grcl
from grscqk a
left outer join zy b on a.kh = b.kh
left outer join cpjbzl d on a.cpdm = d.cpdm
left outer join jtdm e on a.jtdm = e.jtdm
left outer join gxdm c on c.gxdm = e.ssgxdm
left outer join jtlxdm g on g.jtlxdm = e.jtlxdm
left outer join #fzb f on f.cpdm = substring(d.cpdm,1,4) and f.dy = d.dy and f.swsbsrl = d.swsbsrl and f.jtlxdm = e.jtlxdm
' + @aa
exec(@sql)
这是存储过程中的一句话,
在这段话中参数@aa = 'where rq between ''2006-09-01'' and ''2006-09-30'' and c.gxmc = ''卷绕'''
出现varchar转换成datetime时错误,请问这个要怎么处理呢???