Oracle中函数以前介绍的字符串处理惩罚,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数。首要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以。
下面简单介绍一下几个函数的用法。
在介绍这个之前你必须熟悉打听什么是oracle中的空值null
1.NVL函数
NVL函数的格局如下:NVL(expr1,expr2)
含义是:若是oracle第一个参数为空那么显示第二个参数的值,若是第一个参数的值不为空,则显示第一个参数底本的值。
2 NVL2函数
NVL2函数的格局如下:NVL2(expr1,expr2, expr3)
含义是:若是第一个参数的值不为空,则显示第二个参数的值,若是该函数的第一个参数为空那么显示第三个参数的值.
3. NULLIF函数
NULLIF(exp1,expr2)函数的感化是若是exp1和exp2相等则返回空(NULL),不然返回第一个值。
4.Coalesce函数
Coalese函数的感化是的NVL的函数有点类似,其上风是有更多的选项。
格局如下:
Coalesce(expr1, expr2, expr3….. exprn)
Coalesce是如许来处理惩罚这些参数的。若是第一个参数为空,则看第二个参数是否是空,不然则显示第一个参数,若是第二个参数是空再看第三个参数是否为空,不然显示第二个参数,依次类推。
这个函数实际上是NVL的轮回应用.
分享到:
相关推荐
Oracle中的NVL,NVL2,NULLIF,COALESCE通用函数
列举oracle中nvl、decode、trim、rtrim的常见用法
ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数的几种用法,
Oracle的Nvl函数 nvl( ) 函数 从两个表达式返回一个非null 值。 语法 NVL(eExpression1, eExpression2) 参数 eExpression1, eExpression2 如 果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。...
通过学习将Oracle和Hive的常用函数整理出来做了个对比,提供他们各自支持的常用函数。
nvl的相关函数,nvl的相关函数,nvl的相关函数
ifnull等同于oracle的nvl,用法如下 mysql> select ifnull(1,10); +————–+ | ifnull(1,10) | +————–+ | 1 | +————–+ 1 row in set (0.00 sec) mysql> select ifnull(null,10); +—————–+ | ...
NULLIF(Expr1,Expr2)如果Expr1和Expr2的值相等,返回NULL,否则返回Expr1的值 Coalesce(expr1, expr2, expr3….. exprn) 表示可以指定多个表达式的占位符。所有表达式必须是相同类型,或者可以隐性转换为相同的类型...
如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。 mysql> select IFNULL(1,0); -> 1 mysql> select IFNULL(0,10); -> 0 mysql> select ...
Oracle中INSTR的用法: INSTR方法的格式为 INSTR(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号) 返回找到的位置,如果找不到则返回0. 例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符...
本文讲述了Oracle-Decode()函数和CASE语句的比较。
1,数值型函数(abs()、sign()、ceil()、floor()、power()、exp()、round()...); 2,字符型函数(lower()、upper()、lpad()、rpad()、substr()、replace()...);...7,其它函数(decode()、nvl()、nvl2()、least()...);
ORACLE PL/SQL 字符串函数、数学函数、日期函数 --【字符串函数】 --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符...
浅谈Mysql中类似于nvl()函数的ifnull()函数.pdf
SELECT TRIM(',' FROM SYS.STRAGG(A_NAME||NVL2(A_NAME,',','')))as nams FROM A_TEMP
round((sum(nvl(b.bytes, 0)) - sum(nvl(a.bytes, 0))) / 1024 / 1024, 2) 已经使用M, round(sum(nvl(a.bytes, 0)) / 1024 / 1024, 2) 剩余M, round(sum(c.bytes) / 1021 / 1024, 2) 该用户使用M from ...