gpt4 book ai didi

oracle - PL/SQL中的移位运算符

转载 作者:行者123 更新时间:2023-12-04 10:22:26 24 4
gpt4 key购买 nike

PL/SQL中是否有shift运算符的替代方法?有bitand函数,但仅接受binary_integer类型的参数。

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

C中,有<<>>运算符。如何在PL/SQL中实现它们?

最佳答案

以下答案不是与字节序无关的,我的措辞基于小字节序格式...

您可以简单地将参数乘以2(左移)或将参数除以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 - PL/SQL中的移位运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/776355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com