我有一个包含超过20列的表,我希望获得所有列,除了我将在条件表达式中使用的列。
SELECT s.* (BUT NOT column1),
CASE WHEN column1 is null THEN 1 ELSE 2 END AS column1
from tb_sample s;
根据上面的逻辑,我可以在postgresql中实现吗?
答案 0 :(得分:0)
它可能不太理想,但您可以使用information_schema获取列并使用列在where子句中排除。
它为您提供了您想要的所有列名称的列表,您可以将其复制/粘贴到您的选择查询中:
select textcat(column_name, ',')
from information_schema.columns
where table_name ='table_name' and column_name !='column_to_exclude';