
有良多选项否用于应用 select 语句改换 NULL 值。你可使用 CASE 语句或者 IFNULL() 或者 COALESCE()
环境 1 - 运用 IFNULL()
IFNULL( 的语法)如高 -
SELECT IFNULL(yourColumnName,’yourValue’) AS anyVariableName from yourTableName;
登录后复造
环境 二 - 利用 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.6两 sec)
登录后复造
利用拔出号召正在表外拔出一些记载。盘问如高 -
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 | | 两 | 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)
登录后复造
环境 两 - 利用 COALESCE()
盘问如高 -
mysql> select coalesce(Marks,0) as ReplacementOfNULLWith0 from ReplaceNULLDemo;
登录后复造
下列是透露表现 NULL 调换为 0 的输入 -
+------------------------+ | ReplacementOfNULLWith0 | +------------------------+ | 90 | | 0 | | 0 | | 67 | | 78 | | 0 | | 98 | +------------------------+ 7 rows in set (0.00 sec)
登录后复造
环境 3 - 利用 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 语句交换空值有哪些差异的法子?的具体形式,更多请存眷萤水红IT仄台别的相闭文章!

发表评论 取消回复