Sql 如果postgres出现问题,是否可以跳过该列

Sql 如果postgres出现问题,是否可以跳过该列,sql,postgresql,postgresql-9.6,Sql,Postgresql,Postgresql 9.6,我有一个问题: SELECT o.version, o.text, o.id case when language=1 then o.language else [SKIP LANGUAGE COLUMN] end as language FROM books AS o 如果language,是否可以跳过列language=1? 如果language=1,我想得到: 版本|文本| id |语言 否则: version | textt | id |(不含语言栏)“在postgres出现

我有一个问题:

SELECT o.version, o.text, o.id 
case when language=1 
then o.language else [SKIP LANGUAGE COLUMN] end as language  
FROM books AS o 

如果
language,是否可以跳过列
language
=1
? 如果language=1,我想得到: 版本|文本| id |语言

否则: version | textt | id |(不含语言栏)

“在postgres出现时,是否可以跳过该栏?”

如果“Skip”的意思是让查询项目在结果集中有不同数量的列,比如@a_horse_,注释了_no_name,no

您可以在else表达式中指定null(或其他值)

case when language=1 then o.language else null end as language  
或者如果你想要空值,就把else去掉

case when language=1 then o.language end as language  

如果必须投影不同数量的列,则需要执行两个单独的查询。

否则null end
?请回答您的问题,并根据该数据添加一些和预期的输出。请(您的问题-不要在注释中发布代码或其他信息)因此您不希望该列出现在结果集中?大小写表达式将始终返回某个值,可以是定义的值(例如o.language),也可以是空值。SELECT返回固定数量的列,它不会为不同的行返回更多或更少的列。您不能得到每行的列数不同的结果