Null值操作

1)NULL值写入的操作

create table j010(

id number(7),

name varchar2(20),

salary number(7,2));

//插入时指定null

insert into j010(id,name,salary)

values(101,‘scott‘,null);

//不指定字段值默认为null

insert into j010(id,name)

values(102,‘bob‘);

//将字段值更新成null

update j010 set name=null where id=101;

2)null值做条件查询

//查询salary为null值的记录

select * from j010

where salary is null;

//查询name不为null值得记录

select * from j010

where name is not null;

3)null值处理函数

NVL(字段,值1):如果字段值为null,返回值1;

如果不为null,返回原字段值

//如果salary字段值为null,返回0,再加上100

select id,name,NVL(salary,0)+100

from j010;

//显示名字和工资,工资为null时显示0;

//名字为null时显示‘无名氏‘

select nvl(name,‘无名氏‘),nvl(salary,0)

from j010;

NVL2(字段,值1,值2):如果字段值为null返回值2;

如果字段值不为null返回值1

//显示名字和工资,工资为null时显示‘无薪‘

//如果不为null时显示‘保密‘

select name,nvl2(salary,‘保密‘,‘无薪‘)

from j010;

4)null值限定(非空约束)

字段值不能为null,如果给null值报错。

create table j011(

id number(7) not null,

name varchar2(20) not null

);

insert into j011(id,name) values(101,null);//错误

insert into j011(id,name) values(null,1000);//错误

insert into j011(id) values(102);//错误

*2.NULL值操作

NULL空值可以放在各个类型字段中。

如果NUMBER类型字段值为NULL,表示无穷大。

其他类型字段使用NULL表示没有值

时间: 2024-10-10 14:18:37

Null值操作的相关文章

Spark SQL中Dataframe join操作含null值的列

当在Spark SQL中对两个Dataframe使用join时,当作为连接的字段的值含有null值.由于null表示的含义是未知,既不知道有没有,在SQL中null值与任何其他值的比较(即使是null)永远不会为真.故在进行连接操作时null == null不为True,所以结果中不会出现该条记录,即左侧表格的这条记录对应右侧的值均为null.示例如下: table_a: date serverId lvSection 2018-03-04 1 10 2018-03-05 null 9 2018

hive对有null值的列进行avg,sum,count等操作时会不会过滤null值

在hive中,我们经常会遇到对某列进行count.sum.avg等操作计算记录数.求和.求平均值等,但这列经常会出现有null值的情况,那这些操作会不会过滤掉null能呢? 下面我们简单测试下: with tmp as(select null as col1 union allselect 666 as col1 union allselect 999 as col1)select avg(col1) avg_numm, sum(col1) sum_num, count(1) cnt, coun

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

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

hive 配置文件以及join中null值的处理

一.Hive的参数设置 1.  三种设定方式:配置文件 ·   用户自定义配置文件:$HIVE_CONF_DIR/hive-site.xml ·   默认配置文件:$HIVE_CONF_DIR/hive-default.xml 用户自定义配置会覆盖默认配置.另外,Hive也会读入Hadoop的配置,因为Hive是作为Hadoop的客户端启动的,Hadoop的配置文件包括 ·   $HADOOP_CONF_DIR/hive-site.xml ·   $HADOOP_CONF_DIR/hive-de

mysql null值处理详细说明

在讲null之前,我们先看一个例子 表数据如下: 3306>select * from t1; +------+-------+ | id | name | +------+-------+ | 1 | chen | | 2 | zhang | | 3 | NULL | +------+-------+ 3 rows in set (0.00 sec) 然后我们想查出所有名字不为'chen'的其它行记录,我们有可能这样写: 3306>select * from t1 where name!='

《奇妙的NULL值,你知道多少?》

<NULL值的多义性分析> 谈到NULL值,很多人都是很熟悉,但是深入了解后,又感觉到陌生,对其含义和用法,都无法很准确的理解.NULL在数据库和编程语言中,存在的意义和附带的含义不同. NULL这个概念,在数据库中产生的时候就存在异议.NULL值的意义现在主流的想法为:"未知值或不确定的值".至于是否应该被视为未知值或不确定的值,存在较大的争议. NULL值在编程语言中的意思为"空的引用",即变量只是申明了,但没有实例化,在内存中没有分配内存. 由于N

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

最近,在做开发.写存过的时候碰到一些问题,找了好长时间才发现原因,而且是以前不知道的.所以在这给记下来 给自己备忘和大家参考. 一 .null值 下面举个最简单的例子,平常工作当中肯定比这个sql复杂的多,在这只是把这个易错点呈现出来,他可能是一个复杂sql出错的小的 不容易被发现的一个问题. 上面是一个很简单表的所有数据.area_num 区域编码 area_name 区域名称 delflag 有无效标识 1有效 0无效(其中淮北 和宣城的delflag为null). 现在想找出有效的那些区域

细说Oracle中NULL值

1.NULL是什么? NULL表示UNKNOW(未知),其不代表不论什么值. 比如一行中某列没有不论什么值即为NULL. ORACLE同意不论什么一种数据类型的字段为空,除了下面两种情况: 1)主键字段(primary key), 2)定义时已经加了NOT NULL限制条件的字段 2.NULL有什么用? 1)NULL可用于条件推断: SELECT * FROM EMP WHERE COMM IS NULL; 或 SELECT * FROM EMP WHERE COMM IS NOT NULL;

sql 在not in 子查询有null值情况下经常出现的陷阱

如果下:Table_A表和Table_B表,要求查询出在Table_A表中不在Table_B表中的记录. CREATE TABLE [dbo].[Table_A]( [ID] [nchar](10) NULL, [Name] [nchar](10) NULL ) ON [PRIMARY] GO ID Name 001 张三 002 李四 003 王五 CREATE TABLE [dbo].[Table_B]( [ID] [nchar](10) NULL, [Name] [nchar](10) N