猿问

如图,求指教oracle in和decode的组合用法问题!

需求,当上送的值为2时,取一个结果集合。下面的方法为什么会一个能查出来,一个查不出来结果?求指教。


  •  


慕尼黑5688855
浏览 412回答 2
2回答

叮当猫咪

SELECT agentserialno,tradestatusFROM t_hvps_paymentbookWHERE tradestatus in DECODE ('2','2','(1,2)','1') order by agentserialno;这句话中的DECODE,可以这样转换:SELECT agentserialno,tradestatusFROM t_hvps_paymentbookWHERE tradestatus in ('(1,2)') order by agentserialno;这样看与第一句话的SELECT agentserialno,tradestatusFROM t_hvps_paymentbookWHERE tradestatus in (1,2)还是有区别的。

慕勒3428872

你那个DECODE结果是'(1,2)'那就是被当成一整个字符串了相当于tradestatus IN ('(1,2)')
随时随地看视频慕课网APP

相关分类

Oracle
我要回答