Kort sagt, for to booleske værdier returnerer XOR-operatoren sand, hvis de er forskellige. Så enkelt er det.
- sand XOR falsk returnerer sand
- falsk
- true XOR true returnerer falsk
Lad os undersøge, hvad XOR-operatøren i SQL gør, og hvordan vi kan bruge den. Til demonstrationsformål bruger vi MySQL som basisdatabasesystemet.
SQL XOR operatør
I SQL giver XOR-operatoren os mulighed for at udføre de logiske XOR-operationer mellem to boolske udtryk.
Som enhver XOR-operation returnerer operatoren en boolesk sand, hvis præcis et af udtrykkene er sand, og returnerer en boolsk falsk ellers.
MySQL understøtter XOR-operatoren, som giver os mulighed for at skrive de komplekse betingede udsagn baseret på denne logik.
Den grundlæggende syntaks er som følger:
udtryk1 XOR udtryk2Lad os undersøge nogle grundlæggende brug af denne funktionalitet.
Grundlæggende brug
Overvej følgende eksempel, der viser, hvordan XOR-operatoren opfører sig i MySQL, når to booleske udtryk evalueres:
vælg 1 x eller 1 som res;I dette tilfælde behandler MySQL 1 som sand og 0 som falsk. Da begge udtryk er sande, returnerer operatoren falsk som følger:
res|---+
0|
Operatorens funktionalitet bevares, når et af udtrykkene eller operanderne er sande. Et eksempel er som følger:
vælg 1 x eller 0 som res;I dette tilfælde, da kun præcis én værdi er sand, returnerer operatoren sand som følger:
res|---+
1|
Avanceret brug
Lad os se på et mere avanceret eksempel på brug af XOR-operatoren ved hjælp af en databasetabel. Til denne bruger vi 'kunde'-tabellen fra Sakila-eksempeldatabasen.
Antag, at vi ønsker at hente en liste over kunder, der enten er aktive eller inaktive medlemmer, men ikke begge fra kundetabellen.
I dette tilfælde er den aktive status repræsenteret af 1, og den ikke-aktive status er repræsenteret med værdien 0.
Vi kan bruge dette sammen med XOR-operatøren for at opnå dette. Overvej følgende eksempelforespørgsel:
VÆLG kunde_id, fornavn, e-mail, aktivFRA kunde
HVOR (aktiv XELLER IKKE aktiv) = 1 grænse 3;
Dette skulle returnere de matchende poster som følger:
Der har du det!
Konklusion
I denne tutorial lærte vi, hvordan man arbejder med og bruger XOR-operatoren i SQL ved at dække de forskellige funktioner og brug. Vi så også på, hvordan vi kan bruge det i en databasetabel til at filtrere efter specifikke poster.