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

column1がNULLの場合、次にNULLの場合column2 END with MySQL


これには、CASEステートメントを使用できます。まずテーブルを作成しましょう-

mysql> create table DemoTable
   -> (
   -> Name varchar(20),
   -> Marks1 int,
   -> Marks2 int
   -> );
Query OK, 0 rows affected (0.72 sec)

挿入コマンドを使用してテーブルにいくつかのレコードを挿入します-

mysql> insert into DemoTable values('Chris',45,null);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('David',null,78);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('Bob',67,98);
Query OK, 1 row affected (0.14 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+-------+--------+--------+
| Name  | Marks1 | Marks2 |
+-------+--------+--------+
| Chris |     45 |   NULL |
| David |   NULL |     78 |
| Bob   |     67 |     98 |
+-------+--------+--------+
3 rows in set (0.00 sec)

これがCASEWHEN-

を実装するためのクエリです。
mysql> select *,
   -> (case when Marks1 is null then null else Marks2 end ) as Value
   -> from DemoTable;

これにより、次の出力が生成されます-

+-------+--------+--------+-------+
| Name  | Marks1 | Marks2 | Value |
+-------+--------+--------+-------+
| Chris |     45 |   NULL |  NULL |
| David |   NULL |     78 |  NULL |
| Bob   |     67 |     98 |    98 |
+-------+--------+--------+-------+
3 rows in set (0.00 sec)

  1. MySQLでCASEWHENステートメントを使用してカウントを実行しますか?

    このために、CASEWHENステートメントを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1910    (    FirstName varchar(20),    Marks int    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1910 values('Chris

  2. nullの場合は列Aを更新し、そうでない場合は列Bを更新します。それ以外の場合は、両方の列がnullでない場合はMySQLで何もしません。

    このためには、IS NULLプロパティでIF()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1976    (    FirstName varchar(20),    LastName varchar(20)    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1976 values(