SQL XOR-operatör

Sql Xor Operator



Exklusiv OR, allmänt känd som XOR, är en av de mest populära och användbara logiska operatorerna i SQL och andra programmeringsspråk. XOR returnerar sant när endast en av de angivna operanderna är sann och returnerar falskt annars.

Kort sagt, för två booleska värden returnerar XOR-operatorn sant om de är olika. Så enkelt är det.

  • sant XOR falskt returnerar sant
  • false XOR false returnerar false
  • true XOR true returnerar falskt

Låt oss utforska vad XOR-operatorn i SQL gör och hur vi kan använda den. För demonstrationsändamål använder vi MySQL som basdatabassystem.







SQL XOR-operatör

I SQL tillåter XOR-operatorn oss att utföra de logiska XOR-operationerna mellan två booleska uttryck.



Som alla XOR-operationer returnerar operatorn ett booleskt sant om exakt ett av uttrycken är sant och returnerar ett booleskt falskt annars.



MySQL stöder XOR-operatorn som tillåter oss att skriva de komplexa villkorssatserna baserat på denna logik.





Den grundläggande syntaxen är följande:

expression1 XOR expression2

Låt oss utforska lite grundläggande användning av denna funktionalitet.



Grundläggande användning

Betrakta följande exempel som visar hur XOR-operatorn beter sig i MySQL när två booleska uttryck utvärderas:

välj 1 x eller 1 som res;

I det här fallet behandlar MySQL 1 som sant och 0 som falskt. Därför, eftersom båda uttrycken är sanna, returnerar operatorn falskt enligt följande:

res|
---+
0|

Operatorns funktionalitet bevaras när ett av uttrycket eller operanderna är sant. Ett exempel är följande:

välj 1 x eller 0 som res;

I det här fallet, eftersom bara exakt ett värde är sant, returnerar operatorn sant enligt följande:

res|
---+
1|

Avancerad användning

Låt oss titta på ett mer avancerat exempel på hur XOR-operatorn använder en databastabell. För den här använder vi 'kund'-tabellen från Sakilas exempeldatabas.

Anta att vi vill hämta en lista över kunder som antingen är aktiva eller inaktiva medlemmar men inte båda från kundtabellen.

I det här fallet representeras den aktiva statusen av 1 och den icke-aktiva statusen representeras av värdet 0.

Vi kan använda detta tillsammans med XOR-operatören för att uppnå detta. Tänk på följande exempelfråga:

SELECT customer_id, first_name, email, active

FRÅN kund

WHERE (aktiv XELLER INTE aktiv) = 1 gräns 3;

Detta bör returnera de matchande posterna enligt följande:

 En närbild av ett namn Beskrivning genereras automatiskt

Där har du det!

Slutsats

I den här handledningen lärde vi oss hur man arbetar med och använder XOR-operatorn i SQL genom att täcka olika funktioner och användning. Vi tittade också på hur vi kan använda den i en databastabell för att filtrera efter specifika poster.