sql-server - SSMS :: 使用标题复制并粘贴到 Excel 会导致目标中的行更多
问题描述
特殊问题:我有一个140.588
行和246,313
MB 表,如下所示:
CREATE TABLE [dbo].[DMA_assessment](
[InstanceName] [varchar](128) NULL,
[DatabaseName] [varchar](128) NULL,
[SizeMB] [varchar](30) NULL,
[ImpactedObjectName] [varchar](128) NULL,
[ImpactDetail] [varchar](max) NULL,
[AssessmentName] [varchar](128) NULL,
[AssessmentNumber] [int] NULL,
[SourceCompatibilityLevel] [varchar](15) NULL,
[TargetCompatibilityLevel] [varchar](15) NULL,
[TargetSQLServerEdition] [varchar](15) NULL,
[Category] [varchar](50) NULL,
[Severity] [varchar](15) NULL,
[ChangeCategory] [varchar](30) NULL,
[Title] [varchar](500) NULL,
[Impact] [varchar](max) NULL,
[Recommendation] [varchar](max) NULL,
[MoreInfo] [varchar](max) NULL,
[ObjectType] [varchar](40) NULL,
[DBOwnerKey] [int] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
点击放大。
此表是由DMA 工具创建的,我想使用输出来可视化 Power BI 上的结果。查询这么大的表是不可能的。我需要将其导出为 .csv 或 .xlsx 文件
如果我进行臭名昭著的右键单击并“使用标题复制”,然后将其粘贴到 Excel 文件中,则结果有141186
行(-1,因为第一行是列名)
(再次点击查看详情)
所以我们在这里:
141186 - 140558 = 598
它们来自那 598 行?
我试了多次,结果还是一样。
解决方案
我猜你varchar(max)
是问题的原因。Excel 中文本字段的大小是有限的。举个例子:
DECLARE @x VARCHAR(MAX) = '***************************************************************************';
SELECT @x=CONCAT(@x,@x)
SELECT @x=CONCAT(@x,@x)
SELECT @x=CONCAT(@x,@x)
SELECT @x=CONCAT(@x,@x)
SELECT @x=CONCAT(@x,@x)
SELECT @x=CONCAT(@x,@x)
SELECT @x=CONCAT(@x,@x)
SELECT @x=CONCAT(@x,@x)
SELECT @x=CONCAT(@x,@x)
SELECT @x=CONCAT(@x,@x)
SELECT @x=CONCAT(@x,@x)
SELECT @x=CONCAT(@x,@x)
SELECT @x AS Test, 'Test' AS Test2
将结果复制到 excel 文件中,您将得到两行,其中第二列 (Test2) 仅在第二行中出现。
推荐阅读
- android - 如何在带有文本的列表视图中显示从 API 下载的图像
- alfresco - 如何在 Alfreso 中选择包含特定子项的文档?
- react-native - 我在做我的 react-native 项目时遇到了这个问题
- python - df['colimn_name'] vs df.loc[:, 'colimn_name']
- flutter - MaterialApp 中的 home 属性是运行应用程序所必需的吗?
- xmonad - 如何以编程方式获取与 Xmonad 关联的窗口的列表工作区?
- javascript - 有没有办法在模板文字中显示原始 html 代码?
- node.js - 打开服务器的3000端口有危险吗?
- java - 在 Spring MVC 中将 @ModelAttribute 与 @ControllerAdvice 一起使用时未显示输出消息
- cakephp - CakePHP 4 管理面板