4

casePostgreSQLSELECTステートメントで( "switch")を使用して作成された出力列に名前を付けることはできますか?ドキュメントから、これは不可能であるように見えます。私がやりたいことの使用例は次のとおりです。

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 に答える