2016-04-04 71 views
0

我有以下简单的SELECT语句:SQL SELECT查询:更改列名

SELECT TOP (100) PERCENT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE   
(TABLE_NAME = 'Raw_TESTB') AND (ORDINAL_POSITION >= '2') OR 
(TABLE_NAME = 'Raw_TESTC') AND (ORDINAL_POSITION >= '5') AND 
(COLUMN_NAME = '1hr_avg' OR 
COLUMN_NAME = 'MA_O7_1hr' OR 
COLUMN_NAME = 'Am_te_avg' OR 
ORDER BY TABLE_NAME DESC 

问:我怎样才能改变结果 'MA_O7_1hr' 在COLUMN_NAME = 'MA_O7_1hr' 到MA_09_4hr?

+0

如果我理解正确的,你想改变列名。如果是这样的话,对你正在使用的数据库使用'ALTER TABLE'语句。另外,我建议围绕使用AND的过滤器放置括号。 ((table_name ='a'和ordinal_position> 1)OR(table_name ='b'and ordinal_position> 4))AND column_name in('a','b','c')'。在你的情况下,我还会删除'top 100 percent'子句 – zedfoxus

+0

因此在('a','b','c')的column_name中,我如何将'c'更改为'test'? – Joe

+0

只需在('a','b','test')中输入column_name。这意味着,除了您可能已应用的任何其他过滤器之外,您还将结果过滤为只有column_name为'a','b'或'test'的记录。 – zedfoxus

回答

-1

使用别名

SELECT column_name AS alias_name 
FROM table_name;