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 expression2Lå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, activeFRÅN kund
WHERE (aktiv XELLER INTE aktiv) = 1 gräns 3;
Detta bör returnera de matchande posterna enligt följande:
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.