首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSIS和空值

SSIS和空值
EN

Stack Overflow用户
提问于 2014-02-12 00:07:06
回答 3查看 4.8K关注 0票数 1

我有SSIS的包。它有一个执行sql任务,该任务从不同服务器上的表中获取一些配置值。因此,SSIS包获取这些配置值,并将它们存储在SSIS的变量中。这些变量在后续的sql任务中用作参数。

我遇到的问题是,其中一些配置值是null。因此,每当SSIS遇到整数类型的空值时,它都会将其转换为0,并将其作为0传递给进一步的任务,而不是作为null传递

如果列的数据类型是date,并且它在配置表中的值为null,则SSIS会分配一个默认值12/30/1899 12:00:00 AM,并将默认值作为参数传递,而不是传递null值。

如何让SSIS包传递实际的空值,而不是SSIS转换的值?

EN

回答 3

Stack Overflow用户

发布于 2014-02-12 07:04:58

我会将所有变量的Data Type更改为String,并更改Execute SQL Task命令以返回字符串值,例如使用CAST ...AS NVARCHAR ( 4000 ))

字符串变量通常更容易使用。

票数 2
EN

Stack Overflow用户

发布于 2016-03-11 07:48:01

如何使用前面提到的字符串,然后在SQL任务中尝试'select isnull(field,'null')‘

这会将所有空值更改为字符串“null”。

这是一种老生常谈的方式,但它可能会奏效。

票数 0
EN

Stack Overflow用户

发布于 2017-05-26 07:23:38

有多种选择。其中之一,您将需要创建一个表达式,它将您的日期转换为null,而不是最小日期值("1899-12-30")

这种转换的表达式示例:

代码语言:javascript
复制
(DT_DATE)( REPORT_DATE ==(DT_DATE)"1899-12-30" ? NULL(DT_DATE) : REPORT_DATE )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21706939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档