命名在PostgreSQL中使用case创建的输出列

Sab*_*lfy 4 postgresql switch-statement

是否可以case在PostgreSQL SELECT语句中命名用("switch")创建的输出列?从文档中可以看出这是不可能的.我想做的一个示例用法是:

SELECT CASE (column) WHEN 1 THEN 'One' END AS 'TheColumn' FROM TABLE ;

wil*_*ser 6

它对我有用(pg-9.1)

CREATE TABLE one
    ( one INTEGER
    );
INSERT INTO one(one) values ( 0), (1), (NULL);

SELECT case one 
        when 1 then 'one'
        when 0 then 'zero'
        else 'other' 
       end AS the_one
FROM one;
Run Code Online (Sandbox Code Playgroud)

因此,单引号(您用来引用别名列名称)应该是双引号(或不存在).

结果:

CREATE TABLE
INSERT 0 3
UPDATE 3
 the_one 
---------
 one
 zero
 other
(3 rows)
Run Code Online (Sandbox Code Playgroud)