如何在查询语句中把空值(null),输出为0?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在查询语句中把空值(null),输出为0?相关的知识,希望对你有一定的参考价值。

mysql可用:

select cource.c_id,cource.c_name,cource.c_num,ifnull(student.count_c_id,'lattice') from cource 

left join 

(select c_id,count(s_id) as count_c_id from cource_student group by c_id) as student

on cource.c_id=student.c_id;

在遇到多张表查询时,很可能查一个关联数值时,并没有这条关联记录,所以查询到的结果是null,通常需要把这个结果处理成0或者其他。这时候就用isNULL(字段,0)。

扩展资料

SQL NULL 值

NULL 值是遗漏的未知数据。默认地,表的列可以存放 NULL 值。

NULL 值的处理方式与其他值不同。

NULL 用作未知的或不适用的值的占位符。

注释:无法比较 NULL 和 0;它们是不等价的。

sql之null、空字符串、0的区别:

1、'' 表示空字符串,判断'' 用  ='' 或 <>'' , 

2、null表示空值,数值未知,没有两个相等的空值,判断用 is null 或 is not null 

例如:tran_heating_id_!=5 想筛选出所有tran_heating_id_不是5的客户信息,但是这样并不能筛出tran_heating_id_为null的客户信息

(因为null是值不确定的情况),需要用is null筛选。

3、0表示值为‘0’。

参考技术A 利用null函数:

SqlServer: isnull(字段,0)
oracle: nvl(字段,0)
access: iif(isnull(字段),0,字段)
mysql: ifnull(字段,0);

---
以上,希望对你有所帮助。本回答被提问者和网友采纳
参考技术B isnull(a,0)
或者
case a when null then 0 else a end
参考技术C 不可能的,null与0不同。 参考技术D select isnull(a,0) from table

sql语句返回类型为hashmap的时候空值的字段会显示吗

SQL语句返回类型为HashMap的时候,空值的字段不会被显示出来,因为HashMap不会保存空值,只会保存非空值。 参考技术A 在SQL语句中,如果返回的类型为hashmap,那么空值的字段会显示为null。

以上是关于如何在查询语句中把空值(null),输出为0?的主要内容,如果未能解决你的问题,请参考以下文章

怎么设置access查询中空值为0?

SQL 语句 把一个值为0的字段改为空('null')

sql 查询时有空值返回0怎么写

sql语句返回类型为hashmap的时候空值的字段会显示吗

oracle 查询 空值 注意不是 null

access 查询空值和null值的区别