我有一个超过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/

10-16 22:59