sql-server - 当源数据类型为 BIT 时,SSIS 数据转换任务给出错误的输出
问题描述
我从下面的脚本创建了两个表:
CREATE TABLE Test (ISDELETED BIT)
CREATE TABLE Test1 (ISDELETED INT)
表测试数据:
这里表中列isdeleted
的数据类型test
是BIT
,表中的test1
数据类型是INT
。所以现在使用 SSIS 我试图将数据从test
表加载到Test1
表中。
- DFD 的截图:Source 是 TEST,Destination 是 Test1
运行此包后,在 Test1 表中得到以下输出:
所以作为输出我得到数据-1而不是1。
我认为这是 SSIS 错误。如果有人对上述问题有解决方案,请提供帮助。
解决方案
显然这就是 SSIS 将位转换为 int 的方式。一种解决方案是使用以下表达式添加派生列:
ISDELETED == True ? 1 : 0
推荐阅读
- c# - 如何将通用值绑定到子组件?
- matlab - 无法为先前训练的 Faster R-CNN 检测器 MATLAB 加载检查点
- neo4j - 当有正在运行的数据库时,为什么 Neo4j 桌面终端会显示“Neo4j 未运行”?
- excel - VBA:如何删除整行?
- amazon-web-services - Packer + Terraform + EC2 Windows Server:无法使 winrm remote-exec 配置器工作
- r - 在 R 中创建动态数据集
- javascript - 如何在多个 id 上制作 2 个 jquery 下拉过滤器
- c++ - 新运营商后跟地址?
- javascript - 我们如何在 Syncfusion Treegrid 的 ContextMenu 中动态实现插入列?
- powershell - Bitlocker:通过 cmd 和 GPO 加密所有计算机