我正在使用SQL Server Management Studio。
我希望将查询结果保存到Excel文件中。
我选择“另存为”,然后保存为CSV文件,接着我可以在Excel中打开这个文件。只是有一个问题,我的导出文件缺少列标题,请问如何把它们也一起导出呢?
我正在使用SQL Server Management Studio。
我希望将查询结果保存到Excel文件中。
我选择“另存为”,然后保存为CSV文件,接着我可以在Excel中打开这个文件。只是有一个问题,我的导出文件缺少列标题,请问如何把它们也一起导出呢?
CTL-A
,然后右键单击:
至少在SQL Server 2012中,您可以在查询窗口中右键单击并选择“查询选项”。从那里,您可以选择包括网格和/或文本标题,并使“另存为”按您想要的方式工作,而无需重新启动SSMS。
您仍需要在菜单栏中的“工具 -> 选项”中更改设置,以便新查询窗口默认使用这些设置。
如果我们想在SQL Server Management Studio (SSMS)中永久启用此选项,Diego's accepted answer所建议的设置更改是完美的。这里的“永久”意味着新设置将自动应用于所有未来的查询会话中。通常情况下,这并非如此。很多时候,我们想临时启用此选项,然后恢复到原始状态。
更改此设置还需要重新启动SSMS才能生效。当我们正在编写查询或解决故障时,这是一种不太好的用户体验。因此,如果已经打开了许多未保存的查询会话窗口,则重新启动SSMS将是一项昂贵的任务。在这种情况下,我们要么必须放弃所有未保存的查询会话,要么将它们保存到磁盘上,以便在SSMS重新启动后可以恢复我们的旅程。
SSMS有一个更加流畅的选项,可以在每个查询会话基础上临时更改此设置。我列出了更改设置的步骤:
就是这样。现在,当前的查询会话将立即开始遵守设置更改。我们不需要重新启动SSMS。此外,此设置更改也不会传播到任何未来的查询会话。因此,这是一个非常快速和方便的路径。
Tools > Options > SQL Server Tools > Transact-SQL Editor > Query Results > Results To Grid
当寻找一种方法使SSMS在导出结果时正确转义CSV分隔符时,您来到了这里。
猜猜怎么着?- 实际上这是一个选项,并且默认情况下未被选中。因此,默认情况下,您会得到损坏的CSV文件(如果您的导出数据很大并且您的数据通常没有逗号,您甚至可能没有意识到它) - 您必须进入并单击复选框以使您的CSV正确导出!
对我来说,这似乎是一个巨大的愚蠢设计选择,也是微软在软件方面的一种恰当比喻(“默认情况下损坏,需要毫无意义的仪式动作才能使微不足道的功能正常工作”)。
但是,如果有人能给我一个有效的现实生活场景,证明该选项存在的理由(即实际上有用的场景),我将很高兴向受访者选择的慈善机构捐赠100美元。
我也遇到了同样的问题。当我在查询窗口中使用右键并选择“查询选项”时,但标题行没有出现在输出CSV文件中。
然后我注销服务器,重新登录并运行脚本。 然后它就可以工作了。