在SQL Server中,如何减少使用Select Top 1000 Rows时显示的列数?

Pes*_*ide 2 t-sql sql-server

当我在数据库中的一个表上使用Select Top 1000 Rows功能(右键单击一个表)时,它只显示了10列.但是,当我使用时SELECT * FROM ...,将显示所有17列.

这种现象似乎没有发生在任何其他表格中.我们有一个包含超过150列的表,这些表都使用Select Top 1000 Rows功能显示.我们的DBA正在度假,有人知道这是如何实现的吗?

先感谢您.

Mar*_*ith 9

这通常是不可能的.

当表包含SPARSE可能解释您的17-> 10示例的列时,它会在设计中发生.

例如

CREATE TABLE T1  
    (
    Id INT PRIMARY KEY,
    C1 INT SPARSE NULL,
    C2 INT SPARSE NULL,
    C3 INT SPARSE NULL
    )
Run Code Online (Sandbox Code Playgroud)

然后使用该SELECT TOP 1000 Rows选项生成此.

/****** Script for SelectTopNRows command from SSMS  ******/
SELECT TOP (1000) [Id]
  FROM [tempdb].[dbo].[T1]
Run Code Online (Sandbox Code Playgroud)

您可以删除列列表,只需拖动列文件夹即可获得完整列表.

在此输入图像描述

在你的情况下,我相信你想要相反.不要将列更改为稀疏以获得此行为!您可以使用您感兴趣的150列的子集创建视图.