为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕尼黑5688855 2022-03-03 19:15:44
需求,当上送的值为2时,取一个结果集合。下面的方法为什么会一个能查出来,一个查不出来结果?求指教。 
查看完整描述

2 回答

?
叮当猫咪

TA贡献1776条经验 获得超12个赞

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

查看完整回答
反对 回复 2022-03-07
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

你那个DECODE结果是'(1,2)'那就是被当成一整个字符串了
相当于tradestatus IN ('(1,2)')

查看完整回答
反对 回复 2022-03-07
  • 2 回答
  • 0 关注
  • 411 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信