logo

Logična vrednost MySQL

Boolean je najpreprostejši podatkovni tip, ki vedno vrne dve možni vrednosti, bodisi true ali false. Vedno lahko uporabite za pridobitev potrditve v obliki vrednosti DA ali Ne.

MySQL ne vsebuje vgrajenega podatkovnega tipa Boolean ali Bool. Zagotavljajo a TINYINT podatkovni tip namesto podatkovnih tipov Boolean ali Bool. MySQL vrednost nič šteje za napačno in vrednost, ki ni nič, za resnično. Če želite uporabiti logične literale, uporabite true ali false, ki vedno ovrednotita vrednost 0 in 1. 0 in 1 predstavljata celoštevilske vrednosti.

Izvedite naslednji stavek, če si želite ogledati celoštevilske vrednosti logičnih literalov:

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

Po uspešni izvedbi se prikaže naslednji rezultat:

Logična vrednost MySQL

Primer logične vrednosti MySQL

Logično vrednost lahko shranimo v tabelo MySQL kot celoštevilski podatkovni tip. Ustvarimo tabelo študent, ki prikazuje uporabo logičnega podatkovnega tipa v MySQL:

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

V zgornji poizvedbi lahko vidimo, da je polje pass definirano kot Boolean, ko prikazuje definicijo tabele; vsebuje TINIINT, kot sledi:

numpy dnevnik
 mysql> DESCRIBE student; 

Logična vrednost MySQL

V zgornjo tabelo dodamo dve novi vrstici s pomočjo naslednje poizvedbe:

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

Ko se zgornja poizvedba izvede, MySQL takoj preveri, ali je v tabeli logični podatkovni tip. Če so logični literali najdeni, bodo pretvorjeni v celoštevilske vrednosti 0 in 1. Izvedite naslednjo poizvedbo, da dobite podatke iz tabele učencev:

 Mysql> SELECT studentid, name, pass FROM student; 

Dobili boste naslednji rezultat, kjer se pravi in ​​lažni literal pretvorita v vrednost 0 in 1.

Logična vrednost MySQL

Ker MySQL vedno uporablja TINYINT kot Boolean, lahko v stolpec Boolean vstavimo tudi poljubne celoštevilske vrednosti. Izvedite naslednji stavek:

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

Dobili boste naslednji rezultat:

Logična vrednost MySQL

V nekaterih primerih morate dobiti rezultat v pravih in napačnih literalih. V tem primeru morate izvesti funkcijo if() s stavkom select, kot sledi:

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

Dalo bo naslednje rezultate:

Logična vrednost MySQL

Logični operatorji MySQL

MySQL nam omogoča tudi uporabo operatorjev s podatkovnim tipom Boolean. Izvedite naslednjo poizvedbo, da dobite vse rezultate uspešnosti tabele študent.

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

Ta stavek vrne naslednje rezultate:

Logična vrednost MySQL

Zgornji stavek vrne rezultat prehoda le, če je vrednost enaka 1. To lahko popravimo z uporabo JE operater. Ta operator potrdi vrednost z logično vrednostjo. To pojasnjuje naslednja izjava:

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

Po izvedbi tega stavka boste dobili naslednji rezultat:

Logična vrednost MySQL

Če želite videti čakajoči rezultat, uporabite JE LAŽNO oz NI RES operater kot spodaj:

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

Dobili boste naslednje rezultate:

Logična vrednost MySQL