求教oracle in和decode的组合用法问题
需求,当上送的值为2时,取一个结果集合。下面的方法为什么会一个能查出来,一个查不出来结果?求教育。...
需求,当上送的值为2时,取一个结果集合。下面的方法为什么会一个能查出来,一个查不出来结果?求教育。
展开
3个回答
展开全部
你那个DECODE结果是'(1,2)'那就是被当成一整个字符串了
相当于tradestatus IN ('(1,2)')
相当于tradestatus IN ('(1,2)')
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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)
还是有区别的。
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)
还是有区别的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你换个写法 where tradestatus in decode(tradestatus,2,2,1,1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询