PostgreSQL根据case语句选择列

时间:2017-08-30 11:39:26

标签: sql postgresql

我有以下sql查询:

SELECT id, first_name, last_name FROM users;

现在我想添加一个带有以下子句的case语句:

 1. If 1+1 == 2 then show only id column
 2. If 1+2 == 2 then show only first_name column
 3. If 1+3 == 3 then show only last_name column

这只是一个愚蠢的例子,但应该描述我正在寻找的东西。有没有办法在PostgreSQL中执行此操作?

1 个答案:

答案 0 :(得分:2)

您可以使用CASE

SELECT CASE WHEN cond1 THEN id:TEXT
            WHEN cond2 THEN first_name::TEXT
            WHEN cond3 THEN last_name::TEXT
            ELSE 'some_default_value'
       END
FROM your_table;