oracle – PL / SQL中的Shift运算符

前端之家收集整理的这篇文章主要介绍了oracle – PL / SQL中的Shift运算符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
PL / sql中是否有替代的移位运算符?有bitand函数,但它只接受binary_integer类型的参数.

如果我需要检查真正长数字的较低/较高位(可能设置在行中),我该怎么办?

在C中有<<和>>操作符.我如何在PL / sql中实现它们?

以下答案不是字节序不可知的,我的措辞是基于小端格式…

您可以简单地将位移位(向左移位)或将参数除(右移)2乘以x的幂,其中x是要移位的位数.例如,如果我需要将数字的低位字节(255:11111111)向左移16位,我将执行以下操作:

select 255 * power(2,16) from dual;  
-- the result will be (16711680:111111110000000000000000)

相反,如果我想将值16711680 16位向右移动,我将执行以下操作:

select 16711680 / power(2,16) from dual;
-- the result will be (255:11111111)

猜你在找的Oracle相关文章