如何在 SQL Server Management Studio 中从另存为中删除空值
How to remove Nulls from Save As in SQL Server Management Studio
我在存储过程中创建了一个 table 类型的变量。在过程结束时,我 selecting table 中的所有行并显示它们。当我右键单击 headers 和 select "Save As" 时,它允许我将类型更改为所有文件并将文件另存为文本文件。除了其中包含 NULLS 的列保存为 NULLS 之外,这工作正常。我希望它用空格填充 NULL。
我一直在尝试寻找一种使用存储过程创建文件的方法,但大多数情况下都表明要使用 SSIS,但我不知道如何将 SSIS 与 table 而不是使用实际的 table。
如果我可以用空格替换空值或使用存储过程来做同样的事情,那就太好了。我不能使用制表符或逗号分隔,因为最终产品必须是一个平面文件,每列使用与列 headers 中声明的相同数量的字符。用空格填充。
感谢您提供的任何帮助。
干杯
P.S。我正在使用 SQL Server 2012 Management Studio
执行此操作的简单方法是将 NULL
转换为 SELECT
语句中的空格。
SELECT COALESCE(yourcolumn, '')
在每个包含 NULL
的列周围放置 COALESCE
子句。
如果您在存储过程中做的最后一件事是 Select * From TempTable 那么您可以在 OleDb 源组件中使用该 SP。从 Table or View 更改为 Sql Command 并使用 Exec (sp_SomeName) 语法。这将创建一个可以连接到目标组件(例如平面文件)的管道。
这些年来,我在将结果另存为时看到了很多问题...我只会将其用于非正式的 'quick check' 文件,而不用于任何考虑 'live' 或 'production' 的数据.
这是一篇不错的博客,其中还展示了如何使用参数。
http://geekswithblogs.net/stun/archive/2009/03/05/mapping-stored-procedure-parameters-in-ssis-ole-db-source-editor.aspx
我在存储过程中创建了一个 table 类型的变量。在过程结束时,我 selecting table 中的所有行并显示它们。当我右键单击 headers 和 select "Save As" 时,它允许我将类型更改为所有文件并将文件另存为文本文件。除了其中包含 NULLS 的列保存为 NULLS 之外,这工作正常。我希望它用空格填充 NULL。
我一直在尝试寻找一种使用存储过程创建文件的方法,但大多数情况下都表明要使用 SSIS,但我不知道如何将 SSIS 与 table 而不是使用实际的 table。
如果我可以用空格替换空值或使用存储过程来做同样的事情,那就太好了。我不能使用制表符或逗号分隔,因为最终产品必须是一个平面文件,每列使用与列 headers 中声明的相同数量的字符。用空格填充。
感谢您提供的任何帮助。
干杯
P.S。我正在使用 SQL Server 2012 Management Studio
执行此操作的简单方法是将 NULL
转换为 SELECT
语句中的空格。
SELECT COALESCE(yourcolumn, '')
在每个包含 NULL
的列周围放置 COALESCE
子句。
如果您在存储过程中做的最后一件事是 Select * From TempTable 那么您可以在 OleDb 源组件中使用该 SP。从 Table or View 更改为 Sql Command 并使用 Exec (sp_SomeName) 语法。这将创建一个可以连接到目标组件(例如平面文件)的管道。
这些年来,我在将结果另存为时看到了很多问题...我只会将其用于非正式的 'quick check' 文件,而不用于任何考虑 'live' 或 'production' 的数据.
这是一篇不错的博客,其中还展示了如何使用参数。 http://geekswithblogs.net/stun/archive/2009/03/05/mapping-stored-procedure-parameters-in-ssis-ole-db-source-editor.aspx