sql >> Databasteknik >  >> RDS >> Mysql

Hur uppdaterar man en enstaka bit av ett binärt tal som växel?

Att vända lite görs av XOR ^ operation med en mask som har 1 är i positioner som du vill växla.

Detta fungerar eftersom sanningstabellen för XOR ser ut så här:

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

Notera kolumnerna där B är 1 :när motsvarande bit i A är noll, resultatet är ett och vice versa.

Att växla den sjunde biten görs så här:

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


  1. SQL - Fråga för att hitta om en sträng innehåller en del av värdet i kolumn

  2. Django:Jag får ett [relation auth_group exists not not]-fel efter syncdb

  3. Det går inte att skapa flera anpassade db-tabeller vid aktivering av wp-plugin

  4. Postgres - SKAPA TABELL FRÅN SELECT