我是SSIS和SQL Server的新手。我正在网上阅读大量阅读书籍或2本书。
在这个过程中,我试图用一个常量字符串加上一些破折号和2列来完成一个新列。 但我并没有接近它。我可以在没有短划线和没有文字的情况下获得2列,但这并不能实现目标。 我已经阅读了TechNet和Microsoft SSIS页面以及在这里搜索/阅读但仍然在努力。 有人可以帮我解释语法吗?谢谢你的帮助。
期望的目标是:
结果:DtMMP-202-PA-A97-1
环境:
新列将如下所示(不正确的语法): MMID列是一个整数 PymtAuth列是nvarchar100
"DtMMP-" + [MMID] + "-PA-" + [PymtAuth]
期望的结果:DtMMP-202-PA-A97-1
即使我删除了前端字符串并只组合了2列,我也不成功。
[MMID] + "-PA-" + [PymtAuth]
我甚至分开并尝试了2个整数字段......
[MMID] + '-' + [RegID]
如果我遗漏' - '似乎接受了它,但需要虚线。
目标是:
"DtMMP-" + [MMID] + "-PA-" + [PymtAuth]
结果:DtMMP-202-PA-A97-1
再次感谢你。
“DtMMP-”+ [MMID] +“ - PA-”+ [PymtAuth] 创建错误
从MM库创建机会时出错[派生列[391]]:数据类型“DT_WSTR”和“DT_I4”与二进制运算符“+”不兼容。操作数类型无法隐式转换为操作的兼容类型。要执行此操作,需要使用强制转换运算符显式转换一个或两个操作数。
从MM库创建机会时出错[派生列[391]]:尝试设置二进制操作的结果类型“”DtMMP-“+ MMID”失败,错误代码为0xC0047080。
从MM库创建机会时出错[派生列[391]]:计算表达式“”DtMMP-“+ [MMID] +” - PA-“+ [PymtAuth]”失败,错误代码为0xC0047084。表达式可能有错误,例如除以零,在分析时无法检测到,或者可能存在内存不足错误。
从MM库创建机会出错[派生列[391]]:表达式“”DtMMP-“+ [MMID] +” - PA-“+ [PymtAuth]”在“派生列”上。输出[派生列输出] .Columns [Derived Column 2]“无效。
从MM库创建机会时出错[派生列[391]]:无法在“派生列。输出[派生列输出] .Columns [派生列2]”上设置属性“表达式”。
其他信息:
HRESULT的异常:0xC0204006(Microsoft.SqlServer.DTSPipelineWrap)
答案 0 :(得分:0)
试试这个
"DtMMP-" + (DT_WSTR,4)MMID + "-PA-" + PymtAuth
您必须将MMID转换为DT_WSTR