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

MySQL COALESCE()関数を使用して、NULLの場所の列に値を挿入するにはどうすればよいですか?


これを理解するために、ID=5および6に対してSalary=NULLのテーブル「Employee」のデータを次のように使用しています-

mysql> Select * from Employee;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
| 2  | Rahul  | 20000  |
| 3  | Advik  | 25000  |
| 4  | Aarav  | 65000  |
| 5  | Ram    | NULL   |
| 6  | Mohan  | NULL   |
+----+--------+--------+
6 rows in set (0.00 sec)

現在、次のクエリでは、COALESCE()関数とUPDATEおよびWHERE句を使用して、NULLの場所に値を配置します。

mysql> Update Employee set Salary = COALESCE(Salary,20000) where Id = 5;
Query OK, 1 row affected (0.09 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> Update Employee set Salary = COALESCE(Salary,30000) where Id = 6;
Query OK, 1 row affected (0.06 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> Select * from Employee;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
| 2  | Rahul  | 20000  |
| 3  | Advik  | 25000  |
| 4  | Aarav  | 65000  |
| 5  | Ram    | 20000  |
| 6  | Mohan  | 30000  |
+----+--------+--------+
6 rows in set (0.00 sec)

  1. MySQLで列の名前を見つける方法は?

    これには、SHOWCOLUMNSまたはINFORMATION_SCHEMA.COLUMNを使用できます。 まずテーブルを作成しましょう- mysql> create table DemoTable603    (       ClientId int NOT NULL AUTO_INCREMENT,       ClientName varchar(100),       ClientAge int,       ClientAddress var

  2. Javaを使用してDATEをMySQL列の値に挿入するにはどうすればよいですか?

    このために、JavaのPreparedStatementを使用できます。まず、列の1つがDATE型のArrivalDateであるテーブルを作成しましょう- mysql> create table DemoTable(    PassengerId int,    PassengerName varchar(40),    ArrivalDate date ); Query OK, 0 rows affected (0.82 sec) 日付を挿入するためのJAVAコードは次のとおりです- import java.sql.Conn