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

MySQLでNULL値をゼロと見なして2つの列の値を追加します


これには、MySQLのCOALESCE()関数を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable
-> (
-> Value1 int,
-> Value2 int
-> );
Query OK, 0 rows affected (0.51 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values(100,200);
Query OK, 1 row affected (0.27 sec)

mysql> insert into DemoTable values(NULL,90);
Query OK, 1 row affected (0.13 sec)

mysql> insert into DemoTable values(NULL,NULL);
Query OK, 1 row affected (0.12 sec)

mysql> insert into DemoTable values(600,NULL);
Query OK, 1 row affected (0.12 sec)

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

mysql> select *from DemoTable;

出力

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

+--------+--------+
| Value1 | Value2 |
+--------+--------+
| 100    | 200    |
| NULL   | 90     |
| NULL   | NULL   |
| 600    | NULL   |
+--------+--------+
4 rows in set (0.00 sec)

以下は、NULLをゼロとして扱い、2つの列から値を追加するためのクエリです-

mysql> SELECT COALESCE(Value1, 0) + COALESCE(Value2, 0) AS Sum from DemoTable;

出力

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

+------+
| Sum  |
+------+
| 300  |
| 90   |
| 0    |
| 600  |
+------+
4 rows in set (0.00 sec)

  1. MySQLの2つの列から個別の値を選択しますか?

    2つの列から個別の値を選択するには、UNIONを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1 (    Value1 int ); Query OK, 0 rows affected (0.56 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1 values(1); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable1 values

  2. MySQLでそのような列値の1つがnullの場合、2つの列を連結します

    クエリの実行中に問題が発生しないようにするには、IFNULL()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1793      (      StudentFirstName varchar(20),      StudentLastName varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコード