【发布时间】:2017-02-24 16:49:31
【问题描述】:
在表达式生成器中,我的查询看起来像这样。
SELECT *
FROM TABLE_A
WHERE COLOMN_A_ID IN
(SELECT COLOMN_A_ID
FROM TABLE_B
JOIN EXTRACT_STATUS ON EXTRACT_DTTM > TO_DATE('" + (DT_WSTR, 30) @[User::LastTransferDT] + "', 'mm/dd/yyyy hh:mi:ss AM') AND TABLE_B.Scheduled_DT BETWEEN EXTRACT_STATUS.RANGE_BEGIN_DTTM AND EXTRACT_STATUS.RANGE_END_DTTM AND F_MPOG_EXTRACT.extract_num ="+@[User::RowNumber]+ ")"`
我一次又一次地遇到同样的错误。 请帮忙。
TITLE:表达式生成器
无法计算表达式。
附加信息:
数据类型“DT_WSTR”和“DT_I4”与二元运算符“+”不兼容。操作数类型无法隐式转换为操作的兼容类型。要执行此操作,需要使用强制转换运算符显式强制转换一个或两个操作数。
尝试设置二元运算的结果类型
SELECT *
FROM TABLE_A
WHERE COLOMN_A_ID IN (SELECT COLOMN_A_ID
FROM TABLE_B
JOIN EXTRACT_STATUS
ON EXTRACT_DTTM >
TO_DATE('" + (DT_WSTR,30)@[User::LastTransferDT] + "', 'mm/dd/yyyy hh:mi:ss AM')
AND TABLE_B.Scheduled_DT BETWEEN EXTRACT_STATUS.RANGE_BEGIN_DTTM
AND EXTRACT_STATUS.RANGE_END_DTTM
AND F_MPOG_EXTRACT.extract_num =" + @[User::RowNumber]" failed with error code 0xC0047080.
(Microsoft.DataTransformationServices.Controls)
按钮:
好的
【问题讨论】:
标签: sql sql-server oracle ssis