【问题标题】:Select specific column names选择特定的列名
【发布时间】:2013-05-11 17:19:25
【问题描述】:

所以我有这个:

CREATE PROCEDURE getBattingColumnNames
AS

SELECT COLUMN_NAME 
    FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Batting' 
AND COLUMN_NAME NOT IN ('playerID','yearID','stint','teamID','lgID', 'G_batting','GIDP','G_old');
GO

而且效果很好。我得到了我想要的所有列名,在 c# 中我使用它来填充列名的下拉列表。但是,我想更改我的列名之一“Doub”。所以我试着玩弄它:

SELECT        COLUMN_NAME.Doub AS 'DB'
FROM            INFORMATION_SCHEMA.COLUMNS
WHERE        (TABLE_NAME = 'Batting')

以及它的变体,错误是无法绑定多平台标识符。如何更改此查询中的列名?

【问题讨论】:

  • 当基于动态列名的用户界面元素时,我强烈怀疑数据模型不符合First Normal Form,如果属实,应该解决这个问题。

标签: sql select columnname


【解决方案1】:

您可以使用case 来翻译列名:

select  case COLUMN_NAME 
        when 'Doub' then 'DB'
        else COLUMN_NAME 
        end
from    ...

【讨论】:

  • 工作完美,我用谷歌搜索不正确,从未遇到(或想到)案例陈述。谢谢
猜你喜欢
  • 1970-01-01
  • 2013-03-25
  • 1970-01-01
  • 1970-01-01
  • 2013-04-05
  • 2012-12-18
  • 2011-02-27
  • 2018-03-17
  • 2022-06-10
相关资源
最近更新 更多