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

MySQLテーブルのデータ値にCOALESCE()関数を適用するにはどうすればよいですか?


MySQLテーブルのデータ値にCOALESCE()関数を適用する場合は、この関数の引数として列の名前を使用する必要があります。最初の列にNULL値がある場合は、NULL以外の値を取得するまで、次の列をチェックします。上記の概念を示すために、次のように「従業員」テーブルのデータを使用しています-

mysql> Select * from employee;
+----+------------+-------------+-----------+
| Id | First_Name | Middle_Name | Last_Name |
+----+------------+-------------+-----------+
| 1  | Advik      | NULL        | Jhamb     |
| 2  | Rahul      | Kumar       | Sharma    |
| 3  | Raman      | Singh       | Rajput    |
| 4  | Krishan    | Kumar       | Khurana   |
| 5  | Sachin     | Ramesh      | Tendulkar |
| 6  | NULL       | Kumar       | Gaurav    |
| 7  | NULL       | Singh       | Parmar    |
+----+------------+-------------+-----------+
7 rows in set (0.00 sec)

mysql> Select COALESCE(First_Name, Middle_Name,Last_Name)AS Name FROM Employee;
+---------+
| Name    |
+---------+
| Advik   |
| Rahul   |
| Raman   |
| Krishan |
| Sachin  |
| Kumar   |
| Singh   |
+---------+
7 rows in set (0.03 sec)

上記の例では、COALESCE()関数に3つの引数があり、上記のクエリはFirst_Name、Middle_Name、Last_Nameから名前を返し、First_NameがNULLの場合はMiddle_Nameの値を返します。次に、Last_Nameについても同じですが、First_NameとMiddle_NameがNULLの場合、Last_Name値を返します。 First_Name、Middle_Name、Last_Nameの3つすべてがNULLの場合、NULLを返します。


  1. クエリがMySQLでnull値を返す場合、どうすれば0を設定できますか?

    このために、IFNULL()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> Value int    -> ); Query OK, 0 rows affected (0.71 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into

  2. MySQLテーブルの単一行で値がNullであるかどうかを確認するにはどうすればよいですか?

    このために、MySQLでISNULLを使用できます。 テーブルを作成しましょう- 例 mysql> create table demo86    -> (    -> value1 varchar(20)    -> ,    -> value2 varchar(20)    -> ); Query OK, 0 rows affected (2.77 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 mysql> insert