3
是否可以在PostgreSQL SELECT
语句中命名使用case
(“switch”)创建的输出列?从documentation看来,这是不可能的。我想做些什么的一个例子用法是:命名在PostgreSQL中使用大小写创建的输出列
SELECT CASE (column) WHEN 1 THEN 'One' END AS 'TheColumn' FROM TABLE ;
是否可以在PostgreSQL SELECT
语句中命名使用case
(“switch”)创建的输出列?从documentation看来,这是不可能的。我想做些什么的一个例子用法是:命名在PostgreSQL中使用大小写创建的输出列
SELECT CASE (column) WHEN 1 THEN 'One' END AS 'TheColumn' FROM TABLE ;
这对我的作品(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)
感谢。您的示例使用不带引号或双引号也适用于PostgreSQL 8.4.12。 – SabreWolfy
这只是引用。我倾向于避免MixedCaseIdentifiers,从而避免引用。规则:单引号:=字符串文字;双引号:=标识符。 – wildplasser