select ステートメントを使用して NULL 値を置き換えるオプションは多数あります。 CASE ステートメント、IFNULL() または COALESCE()
ケース 1 - IFNULL() を使用します
IFNULL() の構文は次のとおりです-
SELECT IFNULL(yourColumnName,’yourValue’) AS anyVariableName from yourTableName;
ケース 2 - COALESCE() を使用します
COALESCE() の構文は次のとおりです -
SELECT COALESCE(yourColumnName,’yourValue’) AS anyVariableName from yourTableName;
ケース 3 - CASE ステートメントを使用する
CASE ステートメントの構文。
SELECT CASE WHEN yourColumnName IS NULL THEN ‘yourValue’ ELSE yourColumnName END AS anyVariableName FROM yourTableName
上で説明した内容を理解するために、表を作成してみましょう。テーブルを作成するクエリは次のとおりです。 -
mysql> create table ReplaceNULLDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10), -> Marks int, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.62 sec)
insert コマンドを使用して、テーブルにいくつかのレコードを挿入します。クエリは次のとおりです。 -
mysql> insert into ReplaceNULLDemo(Name,Marks) values('Larry',90); Query OK, 1 row affected (0.16 sec) mysql> insert into ReplaceNULLDemo(Name,Marks) values('Carol',NULL); Query OK, 1 row affected (0.17 sec) mysql> insert into ReplaceNULLDemo(Name,Marks) values('David',NULL); Query OK, 1 row affected (0.14 sec) mysql> insert into ReplaceNULLDemo(Name,Marks) values('Bob',67); Query OK, 1 row affected (0.17 sec) mysql> insert into ReplaceNULLDemo(Name,Marks) values('Sam',78); Query OK, 1 row affected (0.19 sec) mysql> insert into ReplaceNULLDemo(Name,Marks) values('Mike',NULL); Query OK, 1 row affected (0.19 sec) mysql> insert into ReplaceNULLDemo(Name,Marks) values('John',98); Query OK, 1 row affected (0.16 sec)
select ステートメントを使用して、テーブル内のすべてのレコードを表示します。クエリは次のとおりです -
mysql> select *from ReplaceNULLDemo;
次は出力です -
+----+-------+-------+ | Id | Name | Marks | +----+-------+-------+ | 1 | Larry | 90 | | 2 | Carol | NULL | | 3 | David | NULL | | 4 | Bob | 67 | | 5 | Sam | 78 | | 6 | Mike | NULL | | 7 | John | 98 | +----+-------+-------+ 7 rows in set (0.00 sec)
次に、NULL 値を 0 に変換しましょう。
ケース 1 - IFNULL() の使用
クエリは次のとおりです-
mysql> select ifnull(Marks,0) as ReplacementOfNULLWith0 from ReplaceNULLDemo;
次は、NULL が 0-# に置き換えられたことを示す出力です。 ##
+------------------------+ | ReplacementOfNULLWith0 | +------------------------+ | 90 | | 0 | | 0 | | 67 | | 78 | | 0 | | 98 | +------------------------+ 7 rows in set (0.00 sec)
ケース 2 - COALESCE() を使用する
クエリは次のとおりです-mysql> select coalesce(Marks,0) as ReplacementOfNULLWith0 from ReplaceNULLDemo;
+------------------------+ | ReplacementOfNULLWith0 | +------------------------+ | 90 | | 0 | | 0 | | 67 | | 78 | | 0 | | 98 | +------------------------+ 7 rows in set (0.00 sec)
- CASE ステートメントを使用します。 クエリは次のとおりです -
mysql> select case -> when Marks is null then 0 -> else Marks end as ReplacementOfNULLWith0 -> from ReplaceNULLDemo;
次は、NULL が 0 に置き換えられたことを示す出力です -
+------------------------+ | ReplacementOfNULLWith0 | +------------------------+ | 90 | | 0 | | 0 | | 67 | | 78 | | 0 | | 98 | +------------------------+ 7 rows in set (0.00 sec)
以上がMySQL で SELECT ステートメントを使用して null 値を置き換えるさまざまな方法には何がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。