空值

空值一般用NULL表示

一般表示未知的、不确定的值,也不是空格

一般运算符与其进行运算时,都会为空

空不与任何值相等

表示某个列为空用:IS NULL  不能使用COMM=NULL这种形式

某个列不为空:IS NOT NULL 不能使用COMM != NULL 这种形式

空值在作升序排列时,空值会放到最后。

相反作降序排列时,空值会放在最前。

空值作逻辑运算时:

AND运算:

F AND F =F       F AND T =F       F AND NULL =F

T AND F =F       T AND T =T       T AND NULL IS NULL

NULL AND F =F    NULL AND T IS NULL   NULL AND NULL IS NULL

就是说AND的优先级是:F ->NULL ->T

OR运算:

T OR T =T     T OR F =T     T OR NULL =T

F OR T =T     F OR F =F     F OR NULL IS NULL

NULL OR T =T  NULL OR F IS NULL NULL OR NULL IS NULL

OR运算优先级:T ->NULL ->F

NOT运算:

NOT T =F

NOT F =T

NOT NULL IS NULL

与空值相关的函数:

NVL 函数

格式:NVL(表达式1,表达式2)

作用:测试表达式的值,如果表达式1为空,则返回表达式2的值;不为空,返回表达式1的值。

NVL2   函数

格式:NVL2(表达式1,表达式2,表达式3)

作用:测试表达式的值,表达式1不为空,返回表达式2的值,如果为空,则返回表达式3的值。

NULLIF  相等为空

格式:NULLIF (表达式1,表达式2)

作用:比较表达式1和表达式2的值,如果两个相等则返回为空,否则返回表达式1的值。

COALESCE    找非空

格式:COALESCE (表达式1,表达式2,表达式3,...,表达式n)

作用:返回第一个不为空的值,如果所有的都为空,则返回NULL。

演示:

Create Table Test6(
id varchar2(30),
name varchar2(30),
age number(2),
sex varchar2(2)
)

建表语句

结果集

1、nvl函数

select id,name,nvl(TO_CHAR(age),'未录入'),nvl(TO_CHAR(sex),'未录入') from Test6

2、nvl2函数

格式:NVL2(表达式1,表达式2,表达式3)

作用:测试表达式的值,表达式1不为空,返回表达式2的值,如果表达式1不为空,则返回表达式3的值。

select id,name,NVL2(TO_CHAR(age),2*(age+sex),age) AS othesr from Test6;

运算方式和?:运算规则一致当TO_ChAR(age)不为空(true)时,执行2*(age+sex),否则就执行后面的表达式age

注意:NULL和任何数进行算数操作,其返回值都是NULL。

最新文章

  1. adb install INSTALL_FAILED_ALREADY_EXISTS
  2. 使用C#在CEF中拦截并响应请求
  3. 【C#】分享一个弹出容器层,像右键菜单那样召即来挥则去
  4. [转]设计一款Android App总结
  5. ASP.NET Core 发布至Linux生产环境 Ubuntu 系统
  6. OpenCV图像处理篇之边缘检测算子
  7. 校友信息管理&SNS互动平台之前言、目录及说明
  8. JDBC笔记
  9. BZOJ 3444: 最后的晚餐( )
  10. Canvas的quadraticCurveTo 和 bezierCurveTo 画曲线 方法细说
  11. Crazy Rows
  12. AIX加入能telnet远程连接方法的帐户
  13. 发博客用的一些HTML
  14. 利用Dropbox同步Arch下一些软件的配置文件
  15. 3255:十进制到六进制-poj
  16. 学了两天 react,乱讲一下学习思路,顺便弄了一个脚手架
  17. 痞子衡嵌入式:ARM Cortex-M文件那些事(0)- 文件关联
  18. Nginx原理
  19. P2P平台介绍
  20. CMPXCHG指令

热门文章

  1. spark介绍3
  2. K倍区间 蓝桥杯
  3. jmeter- 性能测试3:聚合报告(Aggregate Report )
  4. CSS基础知识:常见选择器示例
  5. 菜鸟的Xamarin.Forms前行之路——绪言
  6. .net core 使用redis 基于 StackExchange.Redis
  7. Major OSL changes to catch up
  8. scroll滚动到一定距离触发事件/返回顶部animate
  9. [ActionScript 3.0] 实现放大镜效果的简单方法
  10. 1.Bootstrap简介