Sql server 在ssis中的varchar情况下转换为NULL
从源csv文件中,我有Sql server 在ssis中的varchar情况下转换为NULL,sql-server,csv,ssis,Sql Server,Csv,Ssis,从源csv文件中,我有dailyOverflower列,它是Int,尽管有\N值对应于NULL 问题是-如何使用具有int数据类型的SSIS任务将此\N值转换为NULL前往目标列?我将通过添加一个派生列来处理此问题,该列检查\N并将其替换为NULLint 在源项之后,添加派生列组件。将“派生列”选项更改为替换为“DailyRevolution”,然后输入此表达式(未测试): 然后将派生列映射到目标 编辑:DT_I4根据OP收到的错误消息替换为上述表达式中的DT_WSTR。谢谢。您能给我看一下与此
dailyOverflower
列,它是Int
,尽管有\N
值对应于NULL
问题是-如何使用具有
int
数据类型的SSIS任务将此\N
值转换为NULL
前往目标列?我将通过添加一个派生列来处理此问题,该列检查\N
并将其替换为NULL
int
在源项之后,添加派生列组件。将“派生列”选项更改为替换为“DailyRevolution”
,然后输入此表达式(未测试):
然后将派生列映射到目标
编辑:
DT_I4
根据OP收到的错误消息替换为上述表达式中的DT_WSTR
。谢谢。您能给我看一下与此相关的ssis表达式示例吗?我还在熟悉我的表情。谢谢。虽然我在DFD报告[派生列[128]]中收到了此错误消息:“DT_I4”和“DT_WSTR”数据类型与二进制运算符“=”不兼容。操作数类型无法隐式转换为操作的兼容类型。要执行此操作,一个或两个操作数需要使用强制转换运算符显式强制转换,因为看起来像int
的操作数实际上是数据源中的字符串。使用NULL(DT_I4)
,而不是NULL(DT_WSTR)
。我会更新我的答案。
[DailyTurnover] == "\\N" ? NULL(DT_WSTR) : [DailyTurnover]