Oracle之where之后的case when执行不同的条件

在开发中遇到这样的一个需求 , 在一张表中需要根据某个字段的值来使where执行不同的判断条件 。简单的例子如下
自己简单的建了一张表
查询语句如下(通过某个字段的值 , where后执行不同的刷选条件)
【Oracle之where之后的case when执行不同的条件】SELECT* FROMtest_casewhen a WHERE//这里就建了一张表 , 所以就用表中的字段 , 在case when的条件查询语句中查询返回flag的值如果等于1 则where后执行flag=‘1’的条件 , 否则执行flag=‘0的条件’( CASE WHEN ( SELECT flag FROM test_casewhen WHERE id = 2 ) = 1 THEN flag = '1' ELSE flag = '0' END )
如果case when ( flag FROMWHERE id = 2)的值=1的结果如下(where后执行flag=‘1’的条件)
值=2(where后执行flag=‘0’的条件)