logo

Логічне значення MySQL

Логічний тип — це найпростіший тип даних, який завжди повертає два можливі значення: істинне або хибне. Його завжди можна використовувати для отримання підтвердження у вигляді значення YES або No.

MySQL не містить вбудованих типів даних Boolean або Bool. Вони забезпечують a TINYINT тип даних замість типів даних Boolean або Bool. MySQL вважав нульове значення хибним, а ненульове значення - істинним. Якщо ви хочете використовувати булеві літерали, використовуйте значення true або false, які завжди мають значення 0 і 1. 0 і 1 представляють цілі значення.

Виконайте наступний оператор, щоб побачити цілі значення булевих літералів:

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

Після успішного виконання з'являється такий результат:

Логічне значення MySQL

Приклад логічного значення MySQL

Ми можемо зберігати логічне значення в таблиці MySQL як цілочисельний тип даних. Давайте створимо таблицю student, яка демонструє використання типу даних Boolean у MySQL:

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

У наведеному вище запиті ми бачимо, що поле пропуску визначено як логічне під час показу визначення таблиці; він містить TINIINT наступним чином:

друкувати масив у java
 mysql> DESCRIBE student; 

Логічне значення MySQL

Давайте додамо два нових рядки в таблицю вище за допомогою наступного запиту:

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

Коли наведений вище запит виконується, MySQL негайно перевіряє тип даних Boolean у таблиці. Якщо булеві літерали знайдено, їх буде перетворено на цілі значення 0 і 1. Виконайте наступний запит, щоб отримати дані з таблиці учнів:

 Mysql> SELECT studentid, name, pass FROM student; 

Ви отримаєте наступний результат, де літерали true і false перетворюються на значення 0 і 1.

Логічне значення MySQL

Оскільки MySQL завжди використовує TINYINT як логічний, ми також можемо вставляти будь-які цілі значення в логічний стовпець. Виконайте наступний оператор:

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

Ви отримаєте такий результат:

Логічне значення MySQL

У деяких випадках вам потрібно отримати результат у істинних і хибних літералах. У цьому випадку вам потрібно виконати функцію if() з інструкцією select наступним чином:

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

Це дасть наступний результат:

Логічне значення MySQL

Логічні оператори MySQL

MySQL також дозволяє нам використовувати оператори з типом даних Boolean. Виконайте наступний запит, щоб отримати всі результати проходження таблиці student.

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

Цей оператор повертає такий результат:

Логічне значення MySQL

Наведений вище оператор повертає результат проходження, лише якщо значення дорівнює 1. Ми можемо виправити це за допомогою Є оператор. Цей оператор перевіряє значення за допомогою логічного значення. Це пояснюється наступним твердженням:

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

Після виконання цього оператора ви отримаєте такий результат:

Логічне значення MySQL

Якщо ви хочете побачити очікуваний результат, використовуйте Є НЕПРАВИЛЬНОЮ або НЕ ПРАВДА оператор, як показано нижче:

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

Ви отримаєте наступний результат:

Логічне значення MySQL