在一次开发中遇到一个问题,使用case when 去获取到对应的返回值,但是返回值是有多个。比如:
test in (case when a='0' then '0'
when b = '1' then '0','1' end)--当然这样写是错误的,但是我想返回0和1两个值
所以可以换一种思路,既然是用 in 判断,就是存在于结果集就好了,那么可以用 instr来实现。
instr((case when a='0' then '0'
when b = '1' then '0|1' end),test)>0
这样就可以实现上面的效果。