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

前端之家收集整理的这篇文章主要介绍了sql-server – SSIS将char转换为布尔/位前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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)

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

原文链接:https://www.f2er.com/mssql/82396.html

猜你在找的MsSQL相关文章