Trumpai tariant, dviejų Būlio reikšmių atveju XOR operatorius grąžina true, jei jos skiriasi. Tai taip paprasta.
- true XOR false grąžina true
- klaidinga
- true XOR true grąžina false
Panagrinėkime, ką veikia XOR operatorius SQL ir kaip galime jį naudoti. Demonstravimo tikslais mes naudojame MySQL kaip bazinę duomenų bazių sistemą.
SQL XOR operatorius
SQL sistemoje XOR operatorius leidžia atlikti logines XOR operacijas tarp dviejų Būlio išraiškų.
Kaip ir bet kuri XOR operacija, operatorius grąžina Būlio reikšmę tiesa, jei tiksliai viena iš reiškinių yra teisinga, o priešingu atveju grąžina Būlio vertę false.
MySQL palaiko XOR operatorių, kuris leidžia mums parašyti sudėtingus sąlyginius teiginius remiantis šia logika.
Pagrindinė sintaksė yra tokia:
išraiška1 XOR išraiška2Panagrinėkime keletą pagrindinių šios funkcijos naudojimo būdų.
Pagrindinis naudojimas
Apsvarstykite šį pavyzdį, kuris parodo, kaip XOR operatorius elgiasi MySQL, kai vertina dvi Būlio išraiškas:
pasirinkite 1 x arba 1 kaip res;Šiuo atveju MySQL traktuoja 1 kaip teisingą ir 0 kaip klaidingą. Taigi, kadangi abi išraiškos yra teisingos, operatorius grąžina false taip:
res|---+
0|
Operatoriaus funkcionalumas išsaugomas, kai viena iš išraiškų arba operandų yra teisinga. Pavyzdys yra toks:
pasirinkite 1 x arba 0 kaip res;Šiuo atveju, kadangi teisinga tik viena reikšmė, operatorius grąžina true taip:
res|---+
1|
Išplėstinis naudojimas
Pažvelkime į pažangesnį XOR operatoriaus naudojimo pavyzdį naudojant duomenų bazės lentelę. Tam naudojame lentelę „klientas“ iš Sakilos pavyzdžių duomenų bazės.
Tarkime, kad norime gauti klientų, kurie yra aktyvūs arba neaktyvūs nariai, bet ne abu, sąrašą iš klientų lentelės.
Šiuo atveju aktyvi būsena žymima 1, o neaktyvi – 0.
Tai galime naudoti kartu su XOR operatoriumi, kad tai pasiektume. Apsvarstykite toliau pateiktą užklausos pavyzdį:
PASIRINKITE kliento_id, vardas, el. paštas, aktyvusIŠ kliento
WHERE (aktyvus XOR NEaktyvus) = 1 riba 3;
Tai turėtų grąžinti atitinkančius įrašus taip:
Štai jūs tai turite!
Išvada
Šioje pamokoje sužinojome, kaip dirbti su XOR operatoriumi ir jį naudoti SQL, apžvelgdami įvairias funkcijas ir naudojimą. Taip pat išnagrinėjome, kaip galime jį naudoti duomenų bazės lentelėje, norėdami filtruoti konkrečius įrašus.