我在执行SQL任务中使用OLE DB连接。我已经在SQL任务的“参数映射”部分中将我需要的参数映射为数字类型。我当时想要做的是将它们加在一起但不是添加它们正在连接。即使我将它们设置为数字类型,它们也会被作为字符串处理。
例如,如果我使用值1,1和0映射三个参数(使用?+?+?)。当我尝试添加它们时,我得到110而不是2.如果我然后将它们转换为整数(使用强制转换(?作为整数)+强制转换(?作为整数)+强制转换(?作为整数))然后我得到所需的结果和答案2.
所以我的问题是,为什么当我在参数映射中将它们声明为Numeric时,这些是作为字符串类型处理的?
谢谢, 丹
答案 0 :(得分:0)
我希望你创建一个Script任务并将参数加到一个新参数中,然后可以在SQL Query任务中单独使用它。或者,将所有参数传递给查询而不添加它们,并更改查询以进行求和。
您是否在SQL Query任务的小脚本窗格/窗口中添加了thim?此窗口非常有限,难以检查错误。更可取的是将此限制为SQL查询(最好不超过EXEC dbo.MyProcedure ?,?,?
),并将计算分隔为脚本任务或SQL过程/脚本。