如何在ssis中将空白转换为null
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在ssis中将空白转换为null相关的知识,希望对你有一定的参考价值。
我从ssis
的excel中提取数据。其中一个excel列包含blank
值。所以我需要用null替换blank
值,否则我的包将失败。任何建议?
答案
您可能还想检查源和目标连接上的保持空值的选项(如果可用)
另一答案
在DataFlow中使用DerivedColumn组件。
替换你的列,并在表达式中放置这行代码
ColumnName == "" ? NULL(DT_WSTR,50) : ColumnName
如果列为空,它将确保返回null
另一答案
你尝试过类似的东西(假设数据类型是string / varchar):
LEN(TRIM([ColumnName]))==0 ? NULL(DT_WSTR, 10) : [ColumnName]
另一答案
修复上述问题:::::
必须使用选项allow null values检查源和目标,它将起作用。
另一答案
我有一个类似的实例,我想将日期列中的字符串替换为NULL,我使用以下代码:
LEN(your_data)<2? NULL(DT_WSTR,50):your_data
在这种情况下,字符串的长度仅为1.然后我使用数据转换转换将其转换为dt_dbtimestamp类型。
希望有所帮助!
另一答案
您应该使用派生列组件和条件表达式。由于这是条件语句,因此数据类型需要相同才能创建布尔结果。
试试这个:
ColumnName == (DT_DATE)"" ? NULL(DT_DATE) : ColumnName
以上是关于如何在ssis中将空白转换为null的主要内容,如果未能解决你的问题,请参考以下文章
在 SQL SERVER 2012 中将 NULL 转换为空白