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) 这也具有正确自动设置派生列的数据类型的优点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容