logo

MySQL ブール値

ブール値は、常に 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 テーブルに保存できます。 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; 

MySQL ブール値

次のクエリを使用して、上のテーブルに 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 ブール値

MySQL は常に TINYINT をブール値として使用するため、任意の整数値をブール値列に挿入することもできます。次のステートメントを実行します。

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

次の結果が得られます。

MySQL ブール値

場合によっては、結果を true および false リテラルで取得する必要があります。その場合は、次のように select ステートメントを使用して if() 関数を実行する必要があります。

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

次の出力が得られます。

MySQL ブール値

MySQL ブール演算子

MySQL では、ブール データ型の演算子を使用することもできます。次のクエリを実行して、テーブル 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 ブール値