logo

MySQL logikai érték

A logikai érték a legegyszerűbb adattípus, amely mindig két lehetséges értéket ad vissza, igazat vagy hamisat. Mindig használhatja, hogy visszaigazolást kapjon IGEN vagy Nem érték formájában.

A MySQL nem tartalmaz beépített Boolean vagy Bool adattípust. Biztosítják a TINYINT adattípust a logikai vagy a logikai adattípusok helyett. MySQL a nulla értéket hamisnak, a nem nulla értéket pedig igaznak tekinti. Ha logikai literálokat szeretne használni, használja az igaz vagy hamis értéket, amelyek mindig 0 és 1 értékre számítanak. A 0 és az 1 az egész értékeket jelenti.

Hajtsa végre a következő utasítást a logikai literálok egész értékeinek megtekintéséhez:

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

Sikeres végrehajtás után a következő eredmény jelenik meg:

MySQL logikai érték

MySQL logikai példa

A MySQL táblában tárolhatunk egy logikai értéket egész adattípusként. Hozzunk létre egy táblázatos tanulót, amely bemutatja a logikai adattípus használatát a MySQL-ben:

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

A fenti lekérdezésben láthatjuk, hogy a pass mező logikai értékként van definiálva, amikor egy tábla definícióját mutatja; a következőképpen tartalmazza a TINIINT-et:

olyan weboldal, mint a coomeet
 mysql> DESCRIBE student; 

MySQL logikai érték

Adjunk hozzá két új sort a fenti táblázathoz a következő lekérdezés segítségével:

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

A fenti lekérdezés végrehajtása után a MySQL azonnal ellenőrzi a logikai adattípust a táblában. Ha megtalálta a logikai literálokat, akkor a rendszer 0 és 1 egész értékké konvertálja. Hajtsa végre a következő lekérdezést az adatok lekéréséhez a tanulói táblából:

 Mysql> SELECT studentid, name, pass FROM student; 

A következő kimenetet kapja, ahol az igaz és hamis literált 0 és 1 értékké alakítja át.

MySQL logikai érték

Mivel a MySQL mindig a TINYINT-et használja logikai értékként, bármilyen egész értéket beszúrhatunk a logikai oszlopba. Hajtsa végre a következő utasítást:

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

A következő eredményt kapod:

MySQL logikai érték

Bizonyos esetekben az eredményt igaz és hamis betűkkel kell megadni. Ebben az esetben az if() függvényt a select utasítással kell végrehajtania a következőképpen:

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

A következő kimenetet adja:

MySQL logikai érték

MySQL logikai operátorok

A MySQL azt is lehetővé teszi számunkra, hogy logikai adattípusú operátorokat használjunk. Hajtsa végre a következő lekérdezést, hogy megkapja a tábla tanuló összes sikeres eredményét.

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

Ez az utasítás a következő kimenetet adja vissza:

MySQL logikai érték

A fenti utasítás csak akkor adja vissza a megfelelő eredményt, ha az érték egyenlő 1-gyel IS operátor. Ez az operátor a logikai értékkel érvényesíti az értéket. A következő nyilatkozat ezt magyarázza:

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

Az utasítás végrehajtása után a következő eredményt kapja:

MySQL logikai érték

Ha látni szeretné a függőben lévő eredményt, használja HAMIS vagy NEM IGAZ operátor az alábbiak szerint:

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

A következő kimenetet kapod:

MySQL logikai érték