如何在ssis中将空白转换为null

San*_*nda 25 sql-server error-handling ssis

我从excel中提取数据ssis.其中一个excel列包含blank值.所以我需要blank用null 替换值,否则我的包将失败.任何建议?

小智 45

在DataFlow中使用DerivedColumn组件.

替换你的列,并在表达式中放置这行代码

ColumnName == "" ? NULL(DT_WSTR,50) : ColumnName

如果列为空,它将确保返回null


Tho*_*ony 19

您可能还想检查源和目标连接上的保持空值的选项(如果可用)

  • 这不是重点!Point是如何处理或替换NULL值的.我已经尝试过你的建议,但它没有用.应该有Expression用NULL或用户定义的值替换Empty值. (3认同)
  • 好吧,我想你是对的.如果这是一个Flat文件,则Flat File Source上有一个选项可以保留空值.启用此选项以及目标连接上的"保留NULL值"选项(如OLEDB)可能无需使用派生列转换替换它. (2认同)

NG.*_*NG. 10

你尝试过类似的东西(假设数据类型是string/varchar):

LEN(TRIM([ColumnName]))==0 ? NULL(DT_WSTR, 10) : [ColumnName] 
Run Code Online (Sandbox Code Playgroud)