我想将临时变量与我的表列匹配以合并其内容,但我的临时变量包含一个字母,我需要删除它以匹配我的表中的两列。我不知道什么是正确的代码。
这是临时表的内容
F20151103-1010 | FSI | FRANCISCA MANALO BISCOCHO |已交付| 42317
F20151103-1019 | FSI | NINA MARTINNE HAMOY CAJAYON |已交付| 42314
hover
ERROR:
将varchar值'F20160323-1000'转换为数据类型int时转换失败。
答案 0 :(得分:0)
你能否尝试更换
带有'+'-'+'
的 +''-''+
set @sql = '
MERGE gen_048_MAR2016 target
USING #records source
ON target.refdate+''-''+target.refcount = source.'+replace(refnum, 'F', '')+'
WHEN MATCHED THEN
UPDATE
SET
target.stat = source.stat
WHEN NOT MATCHED BY TARGET THEN
INSERT (stat, statdate)
VALUES (source.stat, source.statdate)
;'
编辑: target.refdate' +' - ' +' target.refcount不是联系人。 您正在减去2列。
为什么不直接添加' F'到另一边?
set @sql = '
MERGE gen_048_MAR2016 target
USING #records source
ON ''F''+target.refdate+''-''+target.refcount = source.refnum
WHEN MATCHED THEN
UPDATE
SET
target.stat = source.stat
WHEN NOT MATCHED BY TARGET THEN
INSERT (stat, statdate)
VALUES (source.stat, source.statdate)
;'