Skratka, za dve logični vrednosti operator XOR vrne true, če sta različni. Tako preprosto je.
- true XOR false vrne true
- false XOR false vrne false
- true XOR true vrne false
Raziščimo, kaj počne operator XOR v SQL in kako ga lahko uporabimo. Za namene predstavitve uporabljamo MySQL kot osnovni sistem baze podatkov.
Operator SQL XOR
V SQL nam operator XOR omogoča izvajanje logičnih operacij XOR med dvema logičnima izrazoma.
Kot vsaka operacija XOR tudi operater vrne logično vrednost true, če je točno eden od izrazov resničen, v nasprotnem primeru pa vrne logično vrednost false.
MySQL podpira operator XOR, ki nam omogoča pisanje kompleksnih pogojnih stavkov na podlagi te logike.
Osnovna sintaksa je naslednja:
izraz1 XOR izraz2Raziščimo nekaj osnovnih načinov uporabe te funkcije.
Osnovna uporaba
Razmislite o naslednjem primeru, ki prikazuje, kako se operater XOR obnaša v MySQL pri vrednotenju dveh logičnih izrazov:
izberite 1 x ali 1 kot res;V tem primeru MySQL obravnava 1 kot resnično in 0 kot napačno. Ker sta torej oba izraza resnična, operator vrne false kot sledi:
res|---+
0|
Funkcionalnost operatorja se ohrani, ko je eden od izrazov ali operandov resničen. Primer je naslednji:
izberite 1 x ali 0 kot res;V tem primeru, ker je samo natanko ena vrednost true, operator vrne true kot sledi:
res|---+
1|
Napredna uporaba
Oglejmo si naprednejši primer uporabe operatorja XOR z uporabo tabele zbirke podatkov. Za to uporabljamo tabelo »stranka« iz vzorčne baze podatkov Sakila.
Recimo, da želimo iz tabele strank pridobiti seznam strank, ki so aktivni ali neaktivni člani, vendar ne oboje.
V tem primeru je aktivno stanje predstavljeno z 1, neaktivno stanje pa z vrednostjo 0.
To lahko uporabimo v povezavi z operatorjem XOR, da to dosežemo. Razmislite o naslednjem primeru poizvedbe:
IZBERI customer_id, first_name, email, activeOD stranke
WHERE (aktivno XALI NI aktivno) = 1 omejitev 3;
To bi moralo vrniti ujemajoče se zapise, kot sledi:
Tukaj imaš!
Zaključek
V tej vadnici smo se naučili delati z operatorjem XOR in ga uporabljati v SQL, tako da smo obravnavali različne funkcije in uporabo. Pogledali smo tudi, kako ga lahko uporabimo v tabeli zbirke podatkov za filtriranje določenih zapisov.