我正在研究SSIS中的工作流程,并且我一直有关于一个sql任务的结果集的错误 . 以下是信息:
- 从第一张表中我总结了一个包含这样的值的字段:'3.4; 534.3; 4.5; 12.4;'使用以下存储过程:
创建FUNCTION [dbo] . [GetTotalOfSemiColomnSeperatedVal](@ semiColomnSeperatedVal varchar(1000))RETURNS decimal(18,2)AS BEGIN
声明@sum decimal(18,2)DECLARE @x XML SELECT @x = CAST(''REPLACE(@semiColomnSeperatedVal,';','')''AS XML)
SELECT @ sum = sum(t.value(' . ','decimal(18,2)'))FROM @ x.nodes('/ A')AS x(t)
return @sum END GO
-
结果与其他信息一起添加到表格中 . 列(总计)定义为十进制(18,2) .
-
之后,我正在对单个组合的总计字段求和:
从mytable中选择sum(total),其中column1 =?和column2 =?和column3 =?和column4 =?和column5 =?和column5 =?和column6 =?和column7 =?
- 因此该查询返回单个值并在SQL任务中:
在结果集页面中:
- 变量VolTotal在变量屏幕中定义为十进制 .
我一直得到的错误是'输入字符串格式不正确'
你对我做错了什么有什么想法吗?
谢谢!
1 回答
根据SO article,您必须将结果存储到Double变量中 .