我有一个超过20列的表,我想得到所有列,除了一个我将在条件表达式中使用的列。
SELECT s.* (BUT NOT column1),
CASE WHEN column1 is null THEN 1 ELSE 2 END AS column1
from tb_sample s;
基于上述逻辑,我能在postgresql中实现它吗?
最佳答案
这可能不太理想,但是可以使用information_schema来获取列,并在where子句中使用列来排除。
这将为您提供所需的所有列名的列表,您可以将这些列名复制/粘贴到选择查询中:
select textcat(column_name, ',')
from information_schema.columns
where table_name ='table_name' and column_name !='column_to_exclude';
关于postgresql - 选择除特定列以外的所有列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45752789/