LNNVL函数使用
显示那些佣金比例(commision)不大于20%或者为NULL的员工的信息。
CREATE TABLE plch_employees
(
employee_id INTEGER PRIMARY KEY
, last_name VARCHAR2 (100)
, salary NUMBER
, commission_pct NUMBER
);
INSERT INTO plch_employees VALUES (100, 'Picasso', 1000000 , .3);
INSERT INTO plch_employees VALUES (200, 'Mondrian', 1000000, .15);
INSERT INTO plch_employeesVALUES (300, 'O''Keefe', 1000000, NULL);
COMMIT;
SQL> SELECT last_name,e.salary,e.commission_pct
FROM plch_employees e
WHERE e.commission_pct <= .2
OR e.commission_pct IS NULL;
LAST_NAME SALARY COMMISSION_PCT
--------------- ---------- --------------
Mondrian 1000000 .15
O'Keefe 1000000
SQL> SELECT last_name,e.salary,e.commission_pct
FROM plch_employees e
WHERE LNNVL (e.commission_pct > .2);
LAST_NAME SALARY COMMISSION_PCT
--------------- ---------- --------------
Mondrian 1000000 .15
O'Keefe 1000000
LNNVL
解释:
LNNVL
provides a concise way to evaluate a condition when one or both operands of the condition may be null. The function can be used only in the WHERE
clause of a query. It takes as an argument a condition and returns TRUE
if the condition is FALSE
or UNKNOWN
and FALSE
if the condition is TRUE
. LNNVL
can be used anywhere a scalar expression can appear, even in contexts where the IS
[NOT
] NULL
, AND
, or OR
conditions are not valid but would otherwise be required to account for potential nulls. Oracle Database sometimes uses the LNNVL
function internally in this way to rewrite NOT
IN
conditions as NOT
EXISTS
conditions. In such cases, output from EXPLAIN
PLAN
shows this operation in the plan table output. The condition
can evaluate any scalar values but cannot be a compound condition containing AND
, OR
, or BETWEEN
.
The table that follows shows what LNNVL
returns given that a
= 2 and b
is null.
Condition | Truth of Condition | LNNVL Return Value |
---|---|---|
a = 1 | FALSE |
TRUE |
a = 2 | TRUE |
FALSE |
a IS NULL |
FALSE |
TRUE |
b = 1 | UNKNOWN |
TRUE |
b IS NULL |
TRUE |
FALSE |
a = b | UNKNOWN |
TRUE |
大致的意思是:lnnvl用于某个语句的where子句中的条件,如果条件为true就返回false;如果条件为UNKNOWN或者false就返回true。该函数不能用于复合条件如AND, OR, or BETWEEN中。
LNNVL函数使用的更多相关文章
- Oracle数据库内置函数
--ORACLE内置函数:单行函数,集合函数--1.绝对值,取余,判断数据正负函数,SELECT ABS(100),ABS(-100),ABS('100') FROM DUAL;SELECT MOD( ...
- Oracle内置函数内容整理
--绝对值select abs(-100) from dual; --取余select mod(8,3) from dual; --取整,大于该数的最小整数(上限值)select ceil(12.0) ...
- .Net程序员学用Oracle系列(10):系统函数(下)
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.转换函数 1.1.TO_CHAR 1.2.TO_NUMBER 1.3.TO_DATE 1.4.CAST 2.近似值函数 2. ...
- .Net程序员学用Oracle系列(11):系统函数(下)
1.聚合函数 1.1.COUNT 函数 1.2.SUM 函数 1.3.MAX 函数 1.4.MIN 函数 1.5.AVG 函数 2.ROWNUM 函数 2.1.ROWNUM 函数简介 2.2.利用 R ...
- Oracle内置函数
单行函数:当查询表或试图时每行都能返回一个结果,可用于select,where,order by等子句中. 对于没有目标的select查询用dual表,这个表时真实存在的,每个用户都可以读取. 单行函 ...
- Atitit 数据库 标准库 sdk 函数库 编程语言 mysql oracle attilax总结
Atitit 数据库 标准库 sdk 函数库 编程语言 mysql oracle attilax总结 1.1. 常见的编程语言以及数据库 sql内部函数库标准化库一般有以下api1 1.2. 各个 ...
- Oracle Single-Row Functions(单行函数)——NULL-Related Functions
参考资料:http://docs.oracle.com/database/122/SQLRF/Functions.htm#SQLRF006 Single-row functions return a ...
- oracle-sql内置函数
函数 oracle 自定义函数入门 主题:ORACLE函数大全 ############################### set operators UNION, UNION ALL, INT ...
- oracle数据库 SQL语句、内置函数大全
1.数值函数 函数 返回值 样例 显示 CEIL(n) 大于或等于数值n的最小整数 SELECT CEIL(10.6) FROM TABLE_NAME; 11 FLOOR(n) 小于等于数 ...
随机推荐
- DevExpress中ChartControl柱状图(Bar)用法
我的数据 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 chartControl1.Series.Clear(); ...
- Java面试题之Class.forName的作用
按参数中指定的字符串形式的类名去搜索并加载相应的类,如果该类字节码已经被加载过,则返回代表该字节码的Class实例对象,否则,按类加载器的委托机制去搜索和加载该类,如果所有的类加载器都无法加载到该类, ...
- linux 搭建Tomcat
这几天用虚拟机装了centos ,以前没有用过linux,先将搭建java web 环境记录如下: 一.卸载系统安装的jdk环境. 1.安装好的CentOS会自带OpenJdk,用命令 java -v ...
- javascript高级知识分析——定义函数
代码信息来自于http://ejohn.org/apps/learn/. 可以使用哪些方式来声明函数? function isNimble(){ return true; } var canFly = ...
- window.onload()与$(document).ready()区别
浏览器加载完DOM后,会通过javascript为DOM元素添加事件,在javascript中,通常使用window.onload()方法. 在jquery中,则使用$(document).ready ...
- 整理的一些数据库不容易想到的SQL语句实例一
1.行转列SQL语句 SELECT * FROM ( SELECT [FID] , [Weeks] , [Qty] FROM dbo.TempTable where Weeks is not null ...
- 20151203--filter
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/htm ...
- CSS3中新增的内容
(整理中······) 一.选择器 新增的伪类 1.p:first-of-type 选择属于其父元素的首个 <p> 元素的每个 <p> 元素. 2.p:last-of-ty ...
- iOS移动支付——支付宝支付
这篇博客总结得很好,我只对在iOS上集成支付宝做简洁的步骤总结. http://www.it165.net/pro/html/201402/9376.html iOS集成支付宝支付的步骤: 准备工作的 ...
- javaTemplates-学习笔记四
应用的调用顺序理解 这个地方很薄弱,浏览器 http://localhost:9000/index.html -> conf/routes -> app/controllers/A ...