4

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

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

4

1 回答 1

8

它对我有用(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;

因此,单引号(用于引用别名列名)应该是双引号(或不存在)。

结果:

CREATE TABLE
INSERT 0 3
UPDATE 3
 the_one 
---------
 one
 zero
 other
(3 rows)
于 2012-06-10T13:57:14.637 回答