选择除特定列

时间:2017-08-18 09:07:58

标签: postgresql

我有一个包含超过20列的表,我希望获得所有列,除了我将在条件表达式中使用的列。

SELECT s.* (BUT NOT column1), 
   CASE WHEN column1 is null THEN 1 ELSE 2 END AS column1 
from tb_sample s;

根据上面的逻辑,我可以在postgresql中实现吗?

1 个答案:

答案 0 :(得分:0)

它可能不太理想,但您可以使用information_schema获取列并使用列在where子句中排除。

它为您提供了您想要的所有列名称的列表,您可以将其复制/粘贴到您的选择查询中:

select textcat(column_name, ',')
from information_schema.columns
where table_name ='table_name' and column_name !='column_to_exclude';