sql >> Database teknologi >  >> RDS >> Mysql

Hvordan opdaterer man en enkelt bit af et binært tal som skifte?

Spejlvending en smule udføres af XOR ^ operation med en maske, der har 1 s i positioner, som du gerne vil skifte.

Dette virker, fordi sandhedstabellen for XOR ser sådan ud:

  A: 0 0 1 1
  B: 0 1 0 1
A^B: 0 1 1 0

Bemærk kolonnerne hvor B er 1 :når den tilsvarende bit i A er nul, er resultatet ét og omvendt.

Skift af syvende bit sker sådan her:

UPDATE numbers SET numb = numb ^ b'0001000000';


  1. Den hurtigste måde at kontrollere, om nogle poster i en databasetabel?

  2. JPA og 1000 ID bruges i Oracle IN Operator

  3. Konvertering af en Postgresql-database fra SQL_ASCII, der indeholder blandede kodningstyper, til UTF-8

  4. Hent alle sekventielle blokeringer fra en liste