加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – SSIS将char转换为布尔/位

发布时间:2020-12-12 16:29:57 所属栏目:MsSql教程 来源:网络整理
导读:我有一个SSIS包来加载数据;你可能还记得,当我试图将它们作为位标记加载到SQL Server时,有数据文件中的标志是Y / N char(1).我将数据文件中的列指定为字符串[DT_STR],并且我有一个数据转换任务根据以下表达式将它们转换为布尔值(尽管SSIS询问,我收到相同的转换
我有一个SSIS包来加载数据;你可能还记得,当我试图将它们作为位标记加载到SQL Server时,有数据文件中的标志是Y / N char(1).我将数据文件中的列指定为字符串[DT_STR],并且我有一个数据转换任务根据以下表达式将它们转换为布尔值(尽管SSIS询问,我收到相同的转换错误,只是将其指定为DT_BOOL)我要说什么值应该考虑为布尔):
[ColumnName] == "Y" ? (DT_BOOL)1 : (DT_BOOL)0

运行程序包给出错误,并告诉我无法转换规范的字符值,因为实际导入SQL Server(通过OLE DB目标)可能会丢失数据,因此无法转换该值.

我在这里错过了什么才能正确转换?

解决方法

尝试这个:
(DT_BOOL)([ColumnName] == "Y" ? 1 : 0)

这也具有正确自动设置派生列的数据类型的优点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读