postgresql - 命名在 PostgreSQL 中用大小写创建的输​​出列

标签 postgresql switch-statement

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

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 - 命名在 PostgreSQL 中用大小写创建的输​​出列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10969236/

相关文章:

postgresql - postgresql 中的 Liquibase 不区分大小写

postgresql - macOS 自带的 OpenSSL 包的头文件和库在哪里?

python - 从 arduino 记录值到 postgres db

database - PostgreSQL:如何使用自定义 emunsortorder 值定义 ENUM 类型

java - Java 和 Postgres SQL 中的密码和盐如何与 MD5 结合?

java - 了解开关行为

jquery - 寻求优化以下 JQuery 代码

c - 获取错误 : "variable cannot appear in a constant-expression"

java - 在 switch/case 语句中使用列表中的值作为 case

数组中用于模式匹配的 JavaScript 占位符