在开发中遇到这样的一个需求 , 在一张表中需要根据某个字段的值来使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’的条件)
- 道光孝全成皇后死因之谜:盛年暴崩死因不明
- 吕布杀丁原难言之隐董卓给他的诱惑无法拒绝
- 朱棣篡位之后为何要给朱元璋立3万吨的墓碑!
- 旭烈兀西征征服之地建为伊儿汗国统治波斯与小亚细亚的地方
- 书圣王羲之气量极窄遭人耻笑后竟被活活气死
- 腾讯云数据库TDSQL两大引擎全新升级,分析能力和Oracle兼容能力大幅提升
- 老刘历史课之迈锐宝曾经最强的肌肉车 2012款迈锐宝参数配置
- 未解之谜:海底惊现埃及艳后宫殿
- 斯拉夫人:被罗马人称为欧洲的三大蛮族之一
- 秦二世胡亥登基之后是怎样残忍的杀害手足的