如果在 sql 中为真,是否需要 select 基于另一个列值的列值?

Need to select a column value based on another column value if its true in sql?

Table结构

id  col1   col2
 1  data1  false
 2  data2  true

我试过了

select id, case col2 when true then col1 from table

它显示内部服务器错误。当相应的 col2 为真时,我想 select 来自 table 的 col1。

你是这个意思吗?

select id,col1 from tabe where col2 = 'true'

select id,col1 from tabe where col2 is true

??

可能只是您案例陈述中的一个简单语法错误。 试试这个..

select 
id,
case when col2=1 then col1 else 'some other value' end as computedCaseCol
from table1

参见:SQL fiddle