NULL值处理
来源:互联网 发布:泰坦陨落 知乎 编辑:程序博客网 时间:2024/06/16 18:58
处理NULL值
--NULL值从何而来?
--1.表中的字段没有值,则其值视为NULL
--2.表达式计算的结果
--3.子查询的结果
--1.含有NULL值的表达式
--1)NULL参与算术运算
--例:
SELECT employee_id,first_name,last_name,salary+salary*commission_pctAS
income
FROM employees;
--NULL值参与算术运算,表达式的结果一定为NULL
--2)NULL值参与比较运算
--例1:
SELECTemployee_id,first_name,last_name,salary
FROM employees
WHERE commission_pct= NULL;
-----------------------------------------
SELECTemployee_id,first_name,last_name,salary
FROM employees
WHERE commission_pct!= NULL;
--如果NULL值参与比较运算,结果一定为NULL
--因为NULL值得存在,SQL中的逻辑成为了“3种逻辑”:TRUE/FALSE/NULL
--例2:
SELECTemployee_id,first_name,last_name,salary
FROM employees
WHERE commission_pctIS NULL;
-------------------------------
SELECTemployee_id,first_name,last_name,salary
FROM employees
WHERE commission_pctIS NOT NULL;
--3)NULL值参与逻辑运算
--例1:
SELECTemployee_id,first_name,last_name,job_id
FROM employees
WHERE job_id ='IT_PROG' AND job_id != NULL;
--逻辑AND取值规律:FALSE-------------NULL------------>TRUE
--例2:
SELECTemployee_id,first_name,last_name,job_id
FROMemployees
WHERE job_id ='IT_PROG' OR job_id != NULL;
--逻辑OR取值规律:TRUE------------->NULL------>false
--例3:
SELECTemployee_id,first_name,last_name,job_id
FROM employees
WHERE NOT job_id !=NULL;
--逻辑NOT取值规律:NOT NULL ==NULL
--4)ORDER BY子句中的NULL
--例1:
SELECTemployee_id,first_name,last_name,commission_pct
FROM employees
ORDER BYcommission_pct;
--升序排列时,NULL值在后
SELECTemployee_id,first_name,last_name,commission_pct
FROM employees
ORDER BYcommission_pct NULLS FIRST;--NULLS LAST
--2.NVL和NVL2
--例1:
SELECTemployee_id,first_name,last_name,salary+salary*NVL(commission_pct,0) AS
income
FROM employees;
--例2:
SELECTemployee_id,first_name,last_name,salary+salary*NVL(commission_pct,commission_pct,0)AS
income
FROM employees;
--3.NULLIF 如果两个值相等就返回NULL
--例:
SELECTemployee_id,first_name,last_name,NVL(NULLIF(salary,17000),7000) AS nsalary
FROM employees;
--语法NULLIF(exp1,exp2)
--如果1和2相等,则返回NUL,否则返回1
--注意:参数的类型必须一致
--4。COALESCE
--例1:
SELECTemployee_id,first_name,last_name,salary+salary*COALESCE(commission_pct,0) AS
income
FROM employees;
--可以接受N个参数,返回第一个部位NULL的参数
--参数的类型必须一致
- oracle null值处理
- freemarker 处理null值
- COALESCE 处理NULL值
- null值处理函数
- HIVE NULL 值处理
- 处理数据库Null值
- fastjson null 值处理
- MySQL NULL 值处理
- MySQL NULL 值处理
- MySQL NULL 值处理
- MySQL NULL 值处理
- NULL值处理
- MySQL NULL 值处理
- 数据库如何处理null 值
- oracle null值处理函数
- oracle中NULL值处理
- velocity中的null值处理
- Velocity中的null值处理
- spring之从入门到精通
- Mybatis之逆向工程
- 基础前端之JQuery
- HTTP协议处理流程
- NULL值处理
- JVM简介
- 使用plot绘制正弦与与余弦函数曲线图实例代码
- C++学习之路(7)---Qt5获取系统目录
- css,html几点学习
- python画3D对比柱状图
- 编程中的快速数学公式 python
- 使用google搜索自己在csdn写的博客
- java IO笔记(InputStream/OutputSteram)