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) 小于等于数 ...
随机推荐
- 编程好帮手----CodeSmith Generator Studio
这是一个很好用的代码生成器,可以将数据库中的表生成类,这是和表中的字段一一对应这就很给力了,方便准确
- 给自己保存份CSS初始值样式
@charset "utf-8";body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,text ...
- 在.NET下学习Extjs(第四个案例 Extjs扩展的原理)
1.构建如下代码 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head& ...
- JS 精粹(一)
先说说JS是容易被误解的语言的观点.从名字上来看,"Java"这似乎暗示着这门语言与Java的关系:好像这门语言是Java的子集,或比Java弱.但实际与Java并无关系,如果说非 ...
- leetcode Binary Tree Postorder Traversal python
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = ...
- mysql--外键(froeign key)
如果一个实体的某个字段指向另一个实体的主键,就称为外键被指向的实体,称之为主实体(主表),也叫父实体(父表).负责指向的实体,称之为从实体(从表),也叫子实体(子表) 作用:用于约束处于关系内的实体增 ...
- Customizing Zend Studio Using the Welcome Page
Customizing Zend Studio Using the Welcome Page Zend Studio enables you to add or remove plugins from ...
- 随意记的一点 js 笔记
1. 给未经声明的变量赋值在严格模式下会导致抛出 ReferenceError 错误(意思是,所有变量都必须用 var 去定义,不能在函数内部定义全局变量): 2. 在严格模式下,不能定义名为 eva ...
- php的系统常量
认识一下系统常量 系统常量是PHP已经定义好的常量,我们可以直接拿来使用,常见的系统常量有: (1)__FILE__ :php程序文件名.它可以帮助我们获取当前文件在服务器的物理位置. (2)__LI ...
- c语言题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点
//题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小.也可能没有鞍点. // #include "stdio.h" #include <stdli ...