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

MySQLで0をnullに置き換えますか?


MySQLのNULLIF()を使用して、0をNULLに置き換えることができます。構文は次のとおりです-

SELECT *,NULLIF(yourColumnName,0) as anyVariableName from yourTableName;

上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table Replace0WithNULLDemo
   -> (
   -> Id int NOT NULL auto_increment,
   -> Name varchar(20),
   -> Marks int,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.53 sec)

これで、insertコマンドを使用してテーブルにいくつかのレコードを挿入できます。クエリは次のとおりです-

mysql> insert into Replace0WithNULLDemo(Name,Marks) values('John',76);
Query OK, 1 row affected (0.16 sec)

mysql> insert into Replace0WithNULLDemo(Name,Marks) values('Carol',86);
Query OK, 1 row affected (0.20 sec)

mysql> insert into Replace0WithNULLDemo(Name,Marks) values('Sam',0);
Query OK, 1 row affected (0.17 sec)

mysql> insert into Replace0WithNULLDemo(Name,Marks) values('Mike',0);
Query OK, 1 row affected (0.16 sec)

mysql> insert into Replace0WithNULLDemo(Name,Marks) values('Larry',98);
Query OK, 1 row affected (0.19 sec)

mysql> insert into Replace0WithNULLDemo(Name,Marks) values('Bob',0);
Query OK, 1 row affected (0.17 sec)

selectステートメントを使用してテーブルのレコードを表示します。クエリは次のとおりです-

mysql> select *from Replace0WithNULLDemo;

以下は出力です-

+----+-------+-------+
| Id | Name  | Marks |
+----+-------+-------+
|  1 | John  | 76    |
|  2 | Carol | 86    |
|  3 | Sam   | 0     |
|  4 | Mike  | 0     |
|  5 | Larry | 98    |
|  6 | Bob   | 0     |
+----+-------+-------+
6 rows in set (0.00 sec)

ここで、0をNULLに置き換えましょう。クエリは次のとおりです-

mysql> select *,NULLIF(Marks,0) as ReplaceZeroWithNULL from Replace0WithNULLDemo;

以下は、newが0をNULLに置き換えた新しい列を表示する出力です-

+----+-------+-------+---------------------+
| Id | Name  | Marks | ReplaceZeroWithNULL |
+----+-------+-------+---------------------+
| 1  | John  | 76    | 76                  |
| 2  | Carol | 86    | 86                  |
| 3  | Sam   | 0     | NULL                |
| 4  | Mike  | 0     | NULL                |
| 5  | Larry | 98    | 98                  |
| 6  | Bob   | 0     | NULL                |
+----+-------+-------+---------------------+
6 rows in set (0.00 sec)

  1. MySQLで列にNULL行を掛けますか?

    NULL行で乗算するには、COALESCE()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1842      (      NumberOfItems int,      Amount int      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTab

  2. MySQL:特殊文字を含む値を見つけてNULLに置き換えるにはどうすればよいですか?

    これには、次の構文のようにSET yourColumnName=NULLを使用します- update yourTableName set yourColumnName=NULL where yourColumnName=yourValue; まずテーブルを作成しましょう- mysql> create table DemoTable1914    (    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    Code varchar(20)    )AUTO_INCR