logo

MySQL Būlio reikšmė

Būlio vertė yra paprasčiausias duomenų tipas, kuris visada pateikia dvi galimas reikšmes – teisingą arba klaidingą. Jis visada gali būti naudojamas norint gauti patvirtinimą vertės TAIP arba Ne forma.

MySQL nėra integruoto Būlio ar Būlio duomenų tipo. Jie suteikia a TINYINT duomenų tipas, o ne Būlio arba Būlio duomenų tipai. MySQL nulinę reikšmę laikė klaidinga, o nulinę vertę - tiesa. Jei norite naudoti Būlio raides, naudokite teisingą arba klaidingą, kurios visada įvertinamos 0 ir 1 reikšmėmis. 0 ir 1 reiškia sveikąsias reikšmes.

Vykdykite šį teiginį, kad pamatytumėte Būlio literalų sveikąsias reikšmes:

 Mysql> Select TRUE, FALSE, true, false, True, False; 

Po sėkmingo vykdymo pasirodo toks rezultatas:

MySQL Būlio reikšmė

MySQL Būlio pavyzdys

Mes galime saugoti Būlio reikšmę MySQL lentelėje kaip sveikojo skaičiaus duomenų tipą. Sukurkime lentelės studentą, kuris demonstruoja Būlio duomenų tipo naudojimą MySQL:

 mysql> CREATE TABLE student ( studentid INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(40) NOT NULL, age VARCHAR(3), pass BOOLEAN ); 

Aukščiau pateiktoje užklausoje matome, kad leidimo laukas yra apibrėžtas kaip Būlio reikšmė, kai rodomas lentelės apibrėžimas; jame yra TINIINT:

simetriškas skirtumas
 mysql> DESCRIBE student; 

MySQL Būlio reikšmė

Į aukščiau pateiktą lentelę įtrauksime dvi naujas eilutes naudodami šią užklausą:

 mysql> INSERT INTO student(name, pass) VALUES('Peter',true), ('John',false); 

Įvykdžius aukščiau pateiktą užklausą, „MySQL“ iš karto patikrina, ar lentelėje nėra Būlio duomenų tipo. Jei randami Būlio literalai, jie bus konvertuojami į sveikųjų skaičių reikšmes 0 ir 1. Norėdami gauti duomenis iš mokinio lentelės, atlikite šią užklausą:

 Mysql> SELECT studentid, name, pass FROM student; 

Gausite šią išvestį, kurioje teisingas ir klaidingas pažodinis žodis bus konvertuojamas į 0 ir 1 reikšmes.

MySQL Būlio reikšmė

Kadangi MySQL visada naudoja TINYINT kaip Būlio reikšmę, mes taip pat galime įterpti bet kokias sveikųjų skaičių reikšmes į Būlio stulpelį. Vykdykite šį pareiškimą:

 Mysql> INSERT INTO student(name, pass) VALUES('Miller',2); 

Gausite tokį rezultatą:

MySQL loginis

Kai kuriais atvejais rezultatą reikia gauti tikraisiais ir klaidingais raštais. Tokiu atveju turite vykdyti funkciją if() su select sakiniu taip:

 Mysql> SELECT studentid, name, IF(pass, 'true', 'false') completed FROM student1; 

Tai duos tokią išvestį:

MySQL Būlio reikšmė

MySQL loginiai operatoriai

MySQL taip pat leidžia mums naudoti operatorius su Būlio duomenų tipu. Vykdykite šią užklausą, kad gautumėte visus lentelės studento išlaikymo rezultatus.

 SELECT studentid, name, pass FROM student1 WHERE pass = TRUE; 

Šis teiginys grąžina šią išvestį:

MySQL Būlio reikšmė

Aukščiau pateiktas teiginys grąžina išlaikymo rezultatą tik tuo atveju, jei reikšmė lygi 1. Mes galime tai pataisyti naudodami YRA operatorius. Šis operatorius patvirtina reikšmę su Būlio reikšme. Tai paaiškina šis teiginys:

 SELECT studentid, name, pass FROM student1 WHERE pass is TRUE; 

Įvykdę šį teiginį gausite tokį rezultatą:

MySQL Būlio reikšmė

Jei norite pamatyti laukiantį rezultatą, naudokite YRA NETINGA arba YRA NE TIESA operatorius, kaip nurodyta toliau:

 SELECT studentid, name, pass FROM student1 WHERE pass IS FALSE; OR, SELECT studentid, name, pass FROM student1 WHERE pass IS NOT TRUE; 

Gausite tokią išvestį:

MySQL Būlio reikšmė