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时错误,请问这个要怎么处理呢???
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时错误,请问这个要怎么处理呢???
...全文
相关推荐
数据库设计---C3---数据类型以及数据转换函数省名师优质课赛课获奖课件市赛课一等奖课件(1)(1).pptx
数据库设计---C3---数据类型以及数据转换函数省名师优质课赛课获奖课件市赛课一等奖课件(1)(1).pptx
SQL Server 日期函数CAST 和 CONVERT 以及在业务中的使用介绍
。最近时间刚从客户端转入后台写服务,对于后台数据库以及服务的书写完全是个小白,所以最近写的肯定没有太多技术含量
SQL CONVERT转化函数使用方法小结
此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到.
Sql Server 2012 转换函数的比较(Cast、Convert和Parse)
Cast、Convert 和 Parse 都是 Sql Server 2012 中的内置转换函数,其作用是:一种数据类型转换为另一种数据类型。其中前两者的差别较小,但 Parse 为 Sql Server 2012 新增函数,也是最近在分析 Sql Server 2012 新特性的时间,才有想把这3个函数拿出来进行比较分析的想法
Sql中将datetime转换成字符串的方法(CONVERT)
主要介绍了Sql中将datetime转换成字符串的方法,需要的朋友可以参考下


