如何在查询语句中把空值(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’。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-14
利用null函数:

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

---
以上,希望对你有所帮助。本回答被提问者和网友采纳
第2个回答  2009-09-20
isnull(a,0)
或者
case a when null then 0 else a end
第3个回答  2009-09-20
不可能的,null与0不同。
第4个回答  2009-09-20
select isnull(a,0) from table

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

sql 查询时有空值返回0怎么写
方法一:select isnull(字段名,0) from 表名;字符型:select isnull(mycol,'0') as newid from mytable整型:select isnull(mycol,0) as newid from mytable 方法二:case ??endcase when columnName is null then 0 else columnName end mysql 将空值返回0用如下语句:select ifnull(字段名,0)...

mysql 怎么样把空值或null查询出来
null表示的含义是未知,即不知道有没有。 和‘’空字符串不等,因为空字符串相当于没有值。 null代表的是不知道有没有值。 所以在数据查询中如果字段默认值是null,想查询出不等于某个条件的一定要加上——字段名 is null 或者字段名 is not null来......

求一条SQL语句,怎么样把从数据库中查出来为空的值赋为“0”,是所有为...
1、select case C_NUMBER when NULL then '0' else C_NUMBER end from T_SCORE如果这条语句执行不对,那么说明你的C_NUMBER字段的NULL不是真正的NULL,而是字符串“NULL”,所以需要这样的SQL:select case C_NUMBER when 'NULL' then '0' when 'null' then '0' else C_NUMBER end from T...

access 查询得到空值 怎样赋值为零
可以使用nz函数或iif函数嵌套isnull函数将控制转换成0。例如:select nz(销售数量,0) from 销售记录;或者 select iif(isnull(销售数量),0,销售数量)from 销售记录;

如何写sql语句去掉oracle返回结果中的空值(NULL)
没有什么简便的方法,但是你可以通过查系统表来减少你写语法的工作,例如:select 'AND ' ||COLUMN_NAME||' IS NOT NULL' from all_tab_columns where table_name = 'table_name'这样这个表的所有字段就自动组成了条件语句。

关于sql中的空值null及处理
我们常用以下方法:1) 在查询条件中使用is null或is not null来筛选空值;2) 使用is distinct from或is not distinct from判断两个值是否不同或相同,需要注意空值在此会被视为相同或不同;3) ifnull函数用于在字段为空时提供替代值,coalesce则返回第一个非空参数,可处理多个可能的null值;4) ...

sql中把值为null置0
n1 varchar(10) null,n2 varchar(10) null,n3 varchar(10) null,n4 varchar(10) null,n5 varchar(10) null,n6 varchar(10) null,n7 varchar(10) null,)declare @str varchar(5000),@value varchar(10),@sql varchar(1000)set @str=''--存放表中的字段 set @value='=0'--...

sql空值值转化为0
不知道你什么数据库。如果是 Oracle 那么 NVL( (你那个子查询) , 0 ) AS 概念策划阶段 如果是 SQL Server 那么 ISNULL( (你那个子查询) , 0 ) AS 概念策划阶段

用sql查询某个字段为空时,用“ IS NULL”,为何查不出结果
因为一般情况下将任何值(包括NULL本身)与NULL做比较的时候,都会返回UnKnown。而在查询表达式中(比如where与having中),UnKnown会视为false。所以select * from 表 where 字段=null查不到正确的结果。在sql中要查询某列值为null的所有结果集时,查询条件应该这样写:select * from 表 where 字段 is ...

相似回答