sql >> Databasteknik >  >> RDS >> Oracle

Skiftoperatorer i PL/SQL

Följande svar är inte endianness agnostisk och min formulering är baserad på little endian format...

Du kan skifta bitar genom att helt enkelt multiplicera (skifta åt vänster) eller dividera (skifta åt höger) argumentet med 2 till potensen av x där x är antalet bitar som ska skiftas. till exempel, om jag behöver flytta lågordningens byte för ett nummer (255:11111111) 16 bitar till vänster skulle jag utföra följande operation:

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

omvänt, om jag vill flytta värdet 16711680 16 bitar åt höger skulle jag göra följande:

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


  1. Främmande nyckel till sammansatt nyckel

  2. Dell Boomi

  3. Använda tidszoner i en PHP-webbapplikation

  4. Uppdatera MySQL-tabellen från en lokal fil