MySQLステートメントにBOOLEAN値を入力する方法|TRUE・FALSEキーワードの使い方
MySQLには、他のプログラミング言語のような独立したBOOLEANデータ型は存在しません。しかし、TRUEまたはtrue、FALSEまたはfalseというキーワードを使用することで、MySQLステートメント内で真偽値(Boolean値)を簡単に入力できます。
これらのキーワードは内部的に数値へ変換され、TRUEは「1」、FALSEは「0」として扱われます。実際にSELECT文で確認してみましょう。
例:TRUEとFALSEの動作確認
mysql> Select TRUE,FALSE; +------+-------+ | TRUE | FALSE | +------+-------+ | 1 | 0 | +------+-------+ 1 row in set (0.00 sec) mysql> Select true,false; +------+-------+ | TRUE | FALSE | +------+-------+ | 1 | 0 | +------+-------+ 1 row in set (0.00 sec)
補足:BOOLEAN型とTINYINT(1)の関係
MySQLでは、テーブル定義時にBOOLEANやBOOLを指定しても、これは実質的にTINYINT(1)のエイリアス(別名)として処理されます。つまり、格納されるのは0か1の整数値です。
また、TINYINT(1)カラムには0以外の任意の整数も格納可能であり、その場合も「真(TRUE)」として評価される点に注意が必要です。真偽値を厳密に管理したい場合は、アプリケーション側で0と1のみを挿入するよう制御するのが一般的です。
-
PHPとMySQLでブール値を扱うには?BOOL・BOOLEAN・TINYINT(1)の違いと使い方
本記事では、MySQL 8.0.12を使用して、ブール(Boolean)値の正しい取り扱い方を解説します。まず、使用しているMySQLのバージョンを確認しておきましょう。 mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.12 | +-----------+ 1 row in set (0.00 sec) MySQLにおけるブール値の基本:BOOL・BOOLEAN・TINYINT(1) MySQLでブール値を扱うには、BOOL、BOOLEAN、またはTINYINT(1)のいずれかを使用
-
MySQLでカンマ区切りの値が格納されたテーブル内を検索する方法
MySQLでカンマ区切りの値を検索するには カンマ区切りの値が格納されたカラムを持つテーブル内を検索するには、LIKE演算子を使用します。まずはサンプル用のテーブルを作成しましょう。 mysql> create table DemoTable675(Value text); Query OK, 0 rows affected (0.55 sec) レコードの挿入 insertコマンドを使って、テーブルにいくつかのレコードを挿入します。 mysql> insert into DemoTable675 values(10,56,49484,93993,211,4594); Query