【发布时间】:2009-08-07 13:55:54
【问题描述】:
我需要在转换中使用二进制数据作为整数并进行一些操作,但是如何进行转换?我尝试了许多 SSIS 数据类型,但没有运气。顺便说一句,我不想使用脚本任务。
[更新以下部分]
数据是存储在 CDC 函数 fn_cdc_get_net_changes 的 __$update_mask 列中的值。以下是我在 SSIS 中尝试的 CAST,
(__$operation == 4) && (((DT_I8)__$update_mask & @[User::SCDColumnNumber]) > 0)
对应的TSQL代码将是
SELECT
CASE WHEN (CAST(__$update_mask as int) & 16)>0 THEN 1 ELSE 0 END ScdType2,
CAST(__$update_mask as int) Change,
* FROM
cdc.fn_cdc_get_net_changes_dbo_Transactions
(sys.fn_cdc_get_min_lsn('dbo_Transactions')
,sys.fn_cdc_get_max_lsn(),'all with mask')
这工作正常。但 SSIS CAST 不是。希望这能提供有关我的查询的足够信息。
【问题讨论】:
-
什么症状?你说它不起作用是什么意思?
-
对于我尝试过的大多数 SSIS 数据类型,CAST 都失败了。
标签: ssis types type-conversion