这样的语句如何传递参数?急

andylauhai 2006-03-11 08:57:10
declare @sql varchar(4000) ;
set @sql ='select rhbh as ''人员考号'',b.name as ''姓名'', ''性别'' = case xb when 1 then ''男'' when 0 then ''女'' end , d.name as ''县区'', c.name as ''矿'',dbo.f_join_str_sumdf(rhbh) as ''总分'''
select @sql =@sql +',sum(case f.flmc when '''+flmc+''' then df end) ['+flmc+']'
from (select distinct flmc from SS_KSFL) as a select @sql =@sql +'from yw_ks as a ,SS_USER as b ,SS_Mine as c , SS_XQ as d ,YW_KTLR as e , SS_KSFL as f , SS_FLMX as g where a.rhbh = b.id and b.ssk = c.id and b.xq = d.id and a.wtdm = e.wtdm and f.fldm = e.fldm and g.fldm = f.fldm and b.xq =''@XQ'' and b.ssk =''@SSK''
and a.KSSJ between ''@START'' and ''@END'' group by rhbh,b.name,b.xb,d.name,c.name' exec(@sql)


说明:b.xq 和 b.ssk 都是int 型的
a.KSSJ 是DateTime 类型的


在不传递参数@XQ、@SSK、@START、@END时,该语句没问题,当加上语句and b.xq =''@XQ'' and b.ssk =''@SSK'' and a.KSSJ between ''@START'' and ''@END''就报错
"将 varchar 值 '@XQ' 转换为数据类型为 int 的列时发生语法错误。"



问下,这样的语句如何传递参数?
...全文
97 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
卧_槽 2006-03-11
  • 打赏
  • 举报
回复
类型要转换convert(@STAET,int)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧