oracle之NULL

本文详细介绍了Oracle数据库中NULL值的特点及使用方法,包括在WHERE条件、CONSTRAINT约束、GROUP FUNCTION组函数以及ORDER BY排序中的应用,并说明了NULL值的具体行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ORACLE数据库NULL介绍如下:
1、在where条件中支持 IS NULL、IS NOT NULL,不支持 = NULL、!= NULL、 <> NULL,比如当使用<> NULL时,sql语句会查不到任何数据;
SQL> SELECT * FROM DEPT WHERE DEPT_ID IS NOT NULL;
2、在CONSTRAINT约束条件中,如表里字段是primary key,则该字段不允许为NULL,如是INDEX,则字段允许为NULL
3、GROUP FUNCTION组函数,ORACLE中在组函数里面是忽略掉NULL值;
SQL>SELECT COUNT(DEPT_NAME) NUM FROM DEPT;
SQL>SELECT COUNT(*) NUM FROM DEPT;
当DEPT中DEPT_NAME记录存在空值时,此时上面两条SQL语句NUM值会不相同。
4、ORDER BY排序,NULL默认值是最大值,如果是ASC升序则排在最后,如是DESC则排在最前面,ORACLE还支持另外2种用法NULLS FIRST和NULLS LAST,
如果Order by 中指定了表达式Nulls first则表示null值的记录将排在最前(不管是asc 还是 desc)
如果Order by 中指定了表达式Nulls last则表示null值的记录将排在最后 (不管是asc 还是 desc)
SQL>SELECT DEPT_ID,DEPT_NAME FROM DEPT ORDER BY DEPT_ID NULLS FIRST;
SQL>SELECT DEPT_ID,DEPT_NAME FROM DEPT ORDER BY 1       NULLS LAST;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值