数据库对于null值的处理

  对于null值的处理,不同的数据库的处理函数是不同的,这里列举了部分数据库对于null的处理函数以及使用:

  Oracle:是用函数nvl(),

----nvl(chinese,0);如果语文成绩为null,则用0来代替

  SQL Server:是用函数ISNULL(),

----ISNULL(chinese,0):如果语文成绩为null,则用0来代替

  一般在求平均值时如果不进行null值处理,则求平均值的列中为null的记录则不被考虑在范围内,相当于没有该条记录,如:

  table:

  stu_id  chinese

  1    96

  2    97

  3    98

  4    null
  如果不处理null值求语文的平均成绩sql语句为:select avg(chinese) from table; //结果为97
  如果处理null值求语文的平均成绩sql语句为:select ISNULL(avg(chinese),0) from table; //结果为72.75

数据库对于null值的处理

时间: 2024-10-18 05:48:36

数据库对于null值的处理的相关文章

数据库的NULL值讨论

有许多关于数据库设计中NULL的讨论,我个人的设计习惯是,不使用NULL值. 我所设计所有表都是Not Null的字段的,尤其是我主要做数据仓库的表设计.刚开始使用数据库时,就栽了一次.一个Group里面,我要显示成年人有多少个,另外一个地方要显示未成年人有多少个,第三个地方要显示总人数. N1(成年人数) = select count(*) from mygroup where age>=18; 结果是10 N2(未成年人) = select count(*) from mygorup whe

数据库对null值的处理

Oracle排序中NULL值处理的五种常用方法 1.缺省处理 Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前 2.使用nvl函数 nvl函数可以将输入参数为空时转换为一特定值,如 nvl(employee_name,'张三')表示当employee_name为空时则返回'张三',如果不为空则返回employee_name 通过这个函数可以定制null的排序位置. 3.使用decode函数 decode函数比nvl函数更强大,同样

null值插入数据库会报错

2017-05-03 23:25:01,568 [com.creditharmony.adapter.dao.base.ParamRecordDao.insertException]-[DEBUG] ==> Parameters: 201705032324543866997(String), 接口服务器产生系统错误.(String), java.lang.NullPointerException at com.creditharmony.adapter.core.client.ClientSer

xml中有空值节点,导入到数据库null值

DECLARE @X TABLE ( XXML XML )INSERT @X SELECT '<STUDENTINFO> <student ID="1" name="Karthi"> <subject ID="1" Name="Electronics and Communication" /> <subject ID="2" Name="Circuit A

判断数据库表字段是否为null值,采用is null

use UserCentergo select * from AccountDetails1.判断一个字段是否为null值,进行查询:update AccountDetails set ProjectCode ='w88' where ProjectCode is null 2.这一种写法是错误的 update AccountDetails set ProjectCode ='w88' where ProjectCode = null 判断数据库表字段是否为null值,采用is null

解决用 VB 中用 ADO 访问 数据库时 SQL 查询处理 Null 值的问题( 使用 iff(isNull(字段), 为空时的值,不为空时的值) 来处理)

程序的环境是 VB6 + ADO + Access,在用 SQL 语句查询时,希望把两个字段合并成一个字段,但其中一个字段 Null 值直接导致两个字段合并后也变成了 Null 值.之前只能用 VB 中的 IsNull 分别处理两个字段的值,前段时间想尝试用 SQL 语句直接解决,确一直未能成功, 差点放弃之际找到了答案,总结如下: 目的: 实现 Select ( 字段1 +  字段2 ) As A 问题: 字段2 如果为空值 (Null),则 不论字段1 的值是否为空,A 的值为空值 (Nul

Oracle SQL篇(一)null值之初体验

    从我第一次正式的写sql语句到现在,已经超过10年的时间了.我写报表,做统计分析和财务对账,我一点点的接触oracle数据库,并尝试深入了解.这条路,一走就是10年,从充满热情,到开始厌倦,我不知道我还能坚持多久,未来的路,谁知道呢? 也许是该抓紧时间,做一点什么了,我不知道该开始写些什么,我从来没有在网上写东西的习惯.     先从简单的开始吧,那当然就是SQL,这是我SQL系列的第一篇,希望我能够坚持. 在Oracle数据库中,如果一个表中的列没有值的话,我们可以说是空值,比如IT员

oracle 让人抓狂的错误之 null值 与 无值(无结果)-开发系列(一)

近期.在做开发.写存过的时候碰到一些问题,找了好长时间才发现原因.并且是曾经不知道的. 所以在这给记下来 给自己备忘和大家參考. 一 .null值 以下举个最简单的样例.寻常工作其中肯定比这个sql复杂的多,在这仅仅是把这个易错点呈现出来,他可能是一个复杂sql出错的小的 不easy被发现的一个问题. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb2hhaTc5OA==/font/5a6L5L2T/fontsize/400/fill/I0JB

MySQL中order by中关于NULL值的排序问题

MySQL中order by 排序遇到NULL值的问题 MySQL数据库,在order by排序的时候,如果存在NULL值,那么NULL是最小的,ASC正序排序的话,NULL值是在最前面的. 如果我们想让NULL排在后面,让非NULL的行排在前面该怎么做呢? MySQL数据库在设计的时候,如果字段允许NULL值,那么对该字段进行排序的时候需要注意那些值为NULL的行. 我们知道NULL的意思表示什么都不是,或者理解成"未知"也可以,它与任何值比较的结果都是false, 默认情况下,My