Mysql中查询一个表,把结果中的NULL替换成0,请写出sql语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql中查询一个表,把结果中的NULL替换成0,请写出sql语句相关的知识,希望对你有一定的参考价值。

1、MSSQL: ISNULL()

语法

ISNULL ( check_expression , replacement_value )

参数

check_expression

将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。

replacement_value

在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。

返回类型

返回与 check_expression 相同的类型。

注释

如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。

2、Oracle: NVL()

语法

NVL(eExpression1, eExpression2)

参数

eExpression1, eExpression2

如果 eExpression1 的计算结果为 null 值,则 NVL() 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 NULL

参考技术A

可以用case when解决

select case when 字段 is null then 0 else 字段 end from 表名

参考技术B select ifnull(colname,0) from tablename本回答被提问者和网友采纳 参考技术C select ifnull(colname,0) from tablename

Mysql:DQL查询语句(补充)

1.1基础查询

1.去重结果集:distinct

select distinct * from t_stu;

2.计算列:一般可以使用四则运算计算一些列的值(一般只会进行数值类型的计算)

ifnull(表达式1,表达式2):null参与的计算,计算结果都为null

表达式1:那个字段需要判断是否为null

表达式2:如果该字段为null后的替换值

ifnull(score,0) -- score字段中的null会被替换成0

1.2排序查询

语法1:

order by 子句

语法2:

order by 排序字段1 排序方式1,排序字段2 排序方式2,...

排序方式:

ASC:升序(默认的)

DESC:降序

注意:如果多个排序条件,则当前边的条件值一样是,才会判断第二条件。

1.3聚合函数:将一列数据作为一个整体,进行纵向的计算

1.count:计算个数

2.max:计算最大值

3.min:计算最小值

4.sum:计算总和

5.avg:计算平均值

注意:聚合函数的计算,排除null值。

解决方案:1.选择非空的列进行计算;2.IFNULL函数

1.4分组查询

1.语法:

group by 分组字段;

注意:

分组之后查询的字段:分组字段或聚合函数

where和having的区别?(面试常问)

  • where在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来。
  • where后不可以跟聚合函数,having可以进行聚合函数的判断。

1.5分页查询

语法:

limit (当前页码-1)*每页显示的条数,每页显示的条数

limit是一个MySQL"方言"

1.6模糊查询

关键字:LIKE

占位符:

-- _:单个任意字符   %:多个任意字符

 

以上是关于Mysql中查询一个表,把结果中的NULL替换成0,请写出sql语句的主要内容,如果未能解决你的问题,请参考以下文章

mySQL怎么批量替换查询结果中的字段值?

Mysql:DQL查询语句(补充)

sql如何空值替换成null?

mysql ifnull 函数 使用和 if 三目运算

mysql 怎么把 null 替换成 0 呢?

sql怎么把一个表中字段的部分内容替换成另一个表字段的内容