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 tablenameMysql: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语句的主要内容,如果未能解决你的问题,请参考以下文章