是否可以使用嵌套在DECODE中的BITAND

时间:2018-01-19 11:13:27

标签: sql oracle

有没有办法在DECODE中使用BITAND,或者有更好的方法来解决它。我正在尝试:

AND DECODE(p_single, 'Y', BITAND( 16384, order_attributes_indicator) != 16384, 'N')

但是,这给了我一个错误。我想检查一个值,如果它是' y',然后执行BITAND语句。这是在游标内。

2 个答案:

答案 0 :(得分:1)

用例:

aggregate()

答案 1 :(得分:0)

使用case。你的逻辑没有意义,但我正在挣扎:

(case when p_single = BITAND(16384, order_attributes_indicator) 
      then 'Y' else 'N'
 end)

或者,这似乎是在WHERE条款中:

( (p_single = 'Y' and BITAND(16384, order_attributes_indicator) ) or
  (p_single <> 'Y')
)