新聞中心
Oracle中的右移符號(hào)用于對(duì)數(shù)字進(jìn)行二進(jìn)制位的右移操作,在Oracle中,有兩種類型的右移操作:算術(shù)右移和邏輯右移。

1、算術(shù)右移(Arithmetic Right Shift)
算術(shù)右移將數(shù)字的二進(jìn)制表示向右移動(dòng)指定的位數(shù),并用0填充左側(cè)空位,在Oracle中,可以使用雙尖號(hào)(>>)作為算術(shù)右移符號(hào)。
語(yǔ)法:
“`sql
<數(shù)值表達(dá)式> >> <移位數(shù)>
“`
示例:
“`sql
SELECT 5 >> 2 FROM DUAL; 結(jié)果為2
SELECT 15 >> 2 FROM DUAL; 結(jié)果為7
“`
2、邏輯右移(Logical Right Shift)
邏輯右移將數(shù)字的二進(jìn)制表示向右移動(dòng)指定的位數(shù),并用最左側(cè)的位的值填充右側(cè)空位,在Oracle中,沒(méi)有專門的邏輯右移符號(hào),但可以通過(guò)使用算術(shù)右移和按位取反來(lái)實(shí)現(xiàn)邏輯右移的效果。
示例:
“`sql
SELECT (16) >> 2 FROM DUAL; 結(jié)果為3
SELECT (16) / 2 >> 2 FROM DUAL; 結(jié)果為3
“`
注意:邏輯右移的結(jié)果依賴于數(shù)字的符號(hào)位,正數(shù)的邏輯右移與算術(shù)右移相同,負(fù)數(shù)的邏輯右移會(huì)保留符號(hào)位并向右移動(dòng)。
算術(shù)右移使用雙尖號(hào)(>>)作為符號(hào);
邏輯右移需要通過(guò)算術(shù)右移和按位取反實(shí)現(xiàn);
邏輯右移的結(jié)果依賴于數(shù)字的符號(hào)位。
網(wǎng)頁(yè)名稱:初探Oracle中的右移符號(hào)
文章出自:http://www.dlmjj.cn/article/cddedgo.html


咨詢
建站咨詢
