【问题标题】:Wrap a column header in SSMS在 SSMS 中包装列标题
【发布时间】:2021-08-07 20:04:26
【问题描述】:

我有一个长列标题,我想在 SQL SERVER 中显示 2 行而不是 1 行。

我希望看到的不是列标题 COUNT_DISTINCT_TRUCK_VIN,而是

COUNT_DISTINCT
TRUCK_VIN

另一种说法是,我希望能够像在 excel 中那样将文本包装在列标题中。

有什么办法吗?

谢谢

【问题讨论】:

  • SSMS 并非设计为表示层,而是设计为 IDE。如果您想担心数据的显示方式,那就是应用程序中的实际表示层,而不是 SSMS。

标签: ssms word-wrap columnheader


【解决方案1】:

我可以使用 SQL 字符串变量来做到这一点。但我不确定它有多成功,因为我无法扩展列高以在 SQL Server 结果窗格中查看完整的列标题。 Char(13)+Char(10) 将能够在这种情况下使用。它们如下添加:

  Char(13) Carriage Return => \r
  Char(10) Line Feed => \n

我。将表声明为 SQL 字符串并在列名中添加换行符

 DECLARE @sql VARCHAR(MAX);
 SET @sql = 'CREATE table my_Column_Table (Id int,                      
              [COUNT_DISTINCT'+char(10)+char(13)+'TRUCK_VIN]  varchar(100)  )';
 EXEC (@sql);
 SELECT * FROM my_Column_Table 

您仍然可以尝试这种方式。您可以正常创建表格,选择时可以将列名分成两行。

CREATE TABLE MySampleTable 
 (
  ID INT  
  ,[COUNT_DISTINCTTRUCK_VIN] VARCHAR(100)
  )

二。声明表格并在选择用换行符分隔列时。 声明@sql VARCHAR(MAX);

   SET @sql = 'SELECT Id ,COUNT_DISTINCTTRUCK_VIN AS  [COUNT_DISTINCT'+CHAR(13) + 
    CHAR(10)+'TRUCK_VIN]  FROM  MySampleTable';
    EXEC (@sql); 

结果:

【讨论】:

  • 感谢@Gudwlk 的回答。
  • @chenderson 这对你有用吗?我可以请你标记我的答案。谢谢!
  • 虽然我相信它有效,但我没有尝试过。我一直在寻找可能真正快速且易于实施的解决方案。感谢您的回复。
  • @chenderson 乐于助人
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-08
  • 2021-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多