2017-01-20 41 views
0

我复制SQL Server结果集中的数据并将其粘贴到Excel电子表格中。 NULL值需要在Excel中显示为空白,但默认行为是显示单词“NULL”。对于文本字段,我可以在原始查询中应用ISNULL([field],'')。但是数字字段呢?我不希望它是0,它需要是空白的。有没有基于查询的解决方案?我一直忘记找到并替换。将数据从SQL Server复制到Excel“NULL”而不是空白NUMBERS

+0

不是我所知道的......你可以让你的查询将你的数字转换为varchar类似'numberCol = isnull(convert(varchar(32),numberCol),'')'但这很愚蠢。 – SqlZim

+1

默认的“行为”不在Excel中。 SSMS如何在输出中显示NULL。并且确保您可以在Excel中为数字列使用相同的ISNULL逻辑。由于数据在Excel中没有强类型(一切都只是一个字符串),它可以显示一个空字符串。对于计算,Excel会将空字符串视为0. –

+0

SqlZim,我最终使用了超级愚蠢的函数嵌套。很快,我将改变这整个过程。感谢您的帮助。 – Rhys

回答

0

这是更多的评论,但做低代表,我会作为答复发布。粘贴到工作表中时,Excel默认不显示数字值的空白。它将(正确)将空白数据点解释为0.由于您愿意使用空值来查找和替换0,因此这似乎是出于演示目的。如果是这样的话,我会建议条件格式。当单元格的值= 0时设置,使文本变为白色。如果您将数学应用于此列,则空单元格或0单元格的效果相同,因此不会对公式/函数产生影响。

+0

应该添加此限制:Excel文件不能有任何公式或条件公式。它被设计成带有.xls后缀的制表符分隔的文本文件。文件格式不在我的控制之下。我需要SQL的输出尽可能接近交付格式。另外,数据中有合法的0,所以我不能用blank来替换它们。 – Rhys

+0

您是否根据具体情况查找和更换流程?是否无法将文件另存为标准的.xls或.xlsx文件?最后,数据源必须与其他用户共享?您不能在本地仓库数据源,只能共享此数据的视图(即数据透视表,链接表等)? –

+0

哈哈哈!最佳做法?不,我刚刚接管了这个项目,现在,我必须保持原样。所以,制表符分隔的.xls,空白而不是NULL。 – Rhys

相关问题