ブール値は、常に true または false の 2 つの値を返す最も単純なデータ型です。いつでも、YES または No の値の形式で確認を取得するために使用できます。
MySQL には、組み込みの Boolean または Bool データ型が含まれていません。彼らは、 タイイント Boolean または Bool データ型の代わりにデータ型を使用します。 MySQL 値ゼロは false と見なされ、ゼロ以外の値は true と見なされます。ブール リテラルを使用する場合は、常に 0 と 1 の値に評価される true または false を使用します。 0 と 1 は整数値を表します。
ブール値リテラルの整数値を確認するには、次のステートメントを実行します。
Mysql> Select TRUE, FALSE, true, false, True, False;
実行が成功すると、次の結果が表示されます。
MySQL ブール値の例
ブール値を整数データ型として MySQL テーブルに保存できます。 MySQL でのブール データ型の使用を示すテーブル Student を作成してみましょう。
mysql> CREATE TABLE student ( studentid INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(40) NOT NULL, age VARCHAR(3), pass BOOLEAN );
上記のクエリでは、テーブルの定義を表示する際に、パス フィールドがブール値として定義されていることがわかります。次のような TINIINT が含まれます。
sqrt Java数学
mysql> DESCRIBE student;
次のクエリを使用して、上のテーブルに 2 つの新しい行を追加してみましょう。
mysql> INSERT INTO student(name, pass) VALUES('Peter',true), ('John',false);
上記のクエリが実行されると、MySQL はすぐにテーブル内のブール データ型をチェックします。ブール リテラルが見つかった場合は、整数値 0 と 1 に変換されます。次のクエリを実行して、student テーブルからデータを取得します。
Mysql> SELECT studentid, name, pass FROM student;
true と false のリテラルが 0 と 1 の値に変換された次の出力が得られます。
MySQL は常に TINYINT をブール値として使用するため、任意の整数値をブール値列に挿入することもできます。次のステートメントを実行します。
Mysql> INSERT INTO student(name, pass) VALUES('Miller',2);
次の結果が得られます。
場合によっては、結果を true および false リテラルで取得する必要があります。その場合は、次のように select ステートメントを使用して if() 関数を実行する必要があります。
Mysql> SELECT studentid, name, IF(pass, 'true', 'false') completed FROM student1;
次の出力が得られます。
MySQL ブール演算子
MySQL では、ブール データ型の演算子を使用することもできます。次のクエリを実行して、テーブル Student のすべての合格結果を取得します。
SELECT studentid, name, pass FROM student1 WHERE pass = TRUE;
このステートメントは次の出力を返します。
上記のステートメントは、値が 1 に等しい場合にのみ合格結果を返します。これは、 は オペレーター。この演算子は、値をブール値で検証します。次のステートメントはこれを説明しています。
SELECT studentid, name, pass FROM student1 WHERE pass is TRUE;
このステートメントを実行すると、次の結果が得られます。
保留中の結果を確認したい場合は、次を使用します。 誤りです または 真実ではない 以下のような演算子:
SELECT studentid, name, pass FROM student1 WHERE pass IS FALSE; OR, SELECT studentid, name, pass FROM student1 WHERE pass IS NOT TRUE;
次の出力が得られます。