MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでTRUE/FALSEのレコードを0/1として表示する方法

MySQLでTRUE/FALSEのレコードを0/1として表示する方法

MySQLでは、カラムのデータ型をBOOLEANとして定義することで、TRUE/FALSEの値が自動的に0と1として表示されます。BOOLEAN型は内部的にはTINYINT(1)のエイリアスであり、TRUEは1、FALSEは0として扱われます。以下、具体的な手順を解説します。

1. テーブルの作成

まず、BOOLEAN型のカラムを含むテーブルを作成しましょう。

mysql> create table DemoTable2035
    -> (
    -> Id int NOT NULL AUTO_INCREMENT,
    -> Name varchar(20),
    -> isMarried boolean,
    -> PRIMARY KEY(Id)
    -> );
Query OK, 0 rows affected (0.72 sec)

2. レコードの挿入

次に、INSERTコマンドを使用してテーブルにレコードを挿入します。値にはtrueまたはfalseをそのまま指定できます。

mysql> insert into DemoTable2035(Name,isMarried) values('Chris',true);
Query OK, 1 row affected (0.10 sec)

mysql> insert into DemoTable2035(Name,isMarried) values('David',false);
Query OK, 1 row affected (0.08 sec)

mysql> insert into DemoTable2035(Name,isMarried) values('Bob',true);
Query OK, 1 row affected (0.11 sec)

mysql> insert into DemoTable2035(Name,isMarried) values('Mike',false);
Query OK, 1 row affected (0.12 sec)

3. レコードの確認

SELECT文を使用して、テーブル内のすべてのレコードを表示します。

mysql> select *from DemoTable2035;

上記のクエリを実行すると、以下のような出力が得られます。

+----+-------+-----------+
| Id | Name  | isMarried |
+----+-------+-----------+
| 1  | Chris | 1         |
| 2  | David | 0         |
| 3  | Bob   | 1         |
| 4  | Mike  | 0         |
+----+-------+-----------+
4 rows in set (0.00 sec)

このように、挿入時にはtrue/falseを指定しても、取得結果では1/0として表示されます。これはMySQLのBOOLEAN型がTINYINT(1)の別名であり、TRUEとFALSEがそれぞれ数値の1と0のエイリアスとして定義されているためです。アプリケーション側で真偽値として扱いたい場合は、取得後に1/0をtrue/falseに変換するか、CASE式を利用して表示を制御するとよいでしょう。

  1. MySQLのストアドプロシージャでテーブルのレコードを表示する方法

    MySQLでは、ストアドプロシージャ内にSELECT文を組み込むことで、テーブルのレコードを簡単に表示できます。ストアドプロシージャを活用すると、よく使うクエリを再利用可能な形で保存できるため、作業の効率化につながります。ここでは、実際の手順を順番に解説していきます。1. テーブルを作成するまず、サンプル用のテーブルを作成します。mysql> create table DemoTable1933 ( ClientName varchar(20) ); Query OK, 0 rows affected (0.00 sec)2. レコードを挿入する次に、INSERT

  2. MySQLのGROUP BY句で日付をグループ化してレコードを表示する方法

    MySQLで日付をグループ化する基本 MySQLで日付データをグループ化してレコードを表示するには、GROUP BY句を使用します。この記事では、顧客ごとに出荷日の最小値と最大値を取得する例を通じて、GROUP BY句の使い方を詳しく解説します。 1. サンプルテーブルの作成 まず、顧客名と出荷日を格納するテーブルを作成します。 mysql> create table DemoTable2002 ( CustomerName varchar(20), CustomerShippingDate datetime ); Query OK, 0 rows affected (