NVL()函数是Oracle中的一个函数,NVL()函数的功能是实现空值的转换。...例如NVL(string1,replace_with)中: 当第一个参数(string1)为空时,返回第二个参数(replace_with); 当第一个参数(string1)不为空时,则返回第一个参数...NVL()函数的第一个参数和第二个参数类型必须相同,或者可以由隐式转换得到。...---- 拓展: NVL2()函数:Oracle/PLSQL中的一个函数,Oracle在NVL函数的功能上扩展,提供了NVL2函数。...如NVL2(E1,E2,E3)中: 当E1为NULL时,返回E3;当E1不为NULL时,返回E2。
NVL(EXPER1,EXPER2) 表示:如果1为空则显示expre2;否则显示expres1; Eg:NVL(‘test’,’周五’) 返回结果:test 注意:EXPER1,EXPER2数据类型(...NVL要求第二个参数类型可以转换为第一个参数类型) select nvl(12,'a') from dual; 报错:ORA-01722:无效数字 select nvl(12,'12')...from dual; 不会报错 应该是隐式转换 NVL2(EXPRE1,EXPRE2,EXPRE3) 表示 : 如果1为空则显示2,不为空则显示expre3; Eg:NVL2(NULL,’33’...,’TEST’); 返回结果:33 注意:NVL2要求第三个参数类型可以转为第二个参数类型 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159815.html原文链接
一、基本语法 介绍一下oracle的nvl函数和nvl2函数。 nvl函数 nvl函数基本语法为nvl(E1,E2),意思是E1为null就返回E2,不为null就返回E1。...nvl2函数 nvl2函数的是nvl函数的拓展,基本语法为nvl2(E1,E2,E3),意思是E1为null,就返回E3,不为null就返回E2。...二、业务场景 nvl()函数比较常用的是这样的nvl(E1,0),意思是E1参数查询到为null的情况,就返回0,不为null就返回E1,常用于非空校验。 nvl2()函数也讲一个业务场景。...今天用列转行函数vm_concat查询的时候,遇到一个问题,对vm_concat不熟悉的可以参考我的另外一篇博客:https://blog.csdn.net/u014427391/article/details...select to_char(nvl2(b,vm_concat(a||'('||b||')'), '') from A group by id 改写SQL,通过nvl2函数实现改写: select to_char
SQL函数 NVL 测试 NULL 并返回适当表达式的函数。...NVL 返回与检查表达式相同的数据类型。 描述 NVL 计算检查表达式并返回以下两个值之一: 如果 check-expression 为 NULL,则返回 replace-expression。...请注意,NVL 支持 Oracle 兼容性,并且与 ISNULL 函数相同。 日期和时间显示转换 某些检查表达式数据类型需要从逻辑模式转换为 ODBC 模式或显示模式。...NULL 处理函数比较 下表显示了各种 SQL 比较函数。如果逻辑比较测试为 True(A 与 B 相同),则每个函数返回一个值,如果逻辑比较测试为 False(A 与 B 不同),则返回另一个值。...这些函数允许执行 NULL 逻辑比较。不能在实际相等(或不相等)条件比较中指定 NULL。
Oracle : Nvl NVL函数: NVL函数是将NULL值的字段转换成默认字段输出。 NVL(expr1,expr2) expr1,需要转换的字段名或者表达式。...expr2,null的替代值 下面是NUMBER, DATE, CHAR OR VARCHAR2的例子: NVL(commission_pct,0) NVL(hire_date,’01-JAN-97...′) NVL(job_id,’No Job Yet’) Sql Server: IsNull: 如果是Null,就返回指定的值,否则返回原值。
空值判断函数 1、NVL(表达式A,表达式B) 如果表达式A为空值,NVL返回值为表达式B的值,否则返回表达式A的值。该函数的目的是把一个空值(null)转换成一个实际的值。...例: nvl(clue_num,0):如果clue_num为空,则返回0;否则返回clue_num的值 2、NVL2(表达式A,表达式B,表达式C) 如果表达式A为空,则返回表达式C的值;如果表达式...例: nvl(sex,0,1):如果sex为空,则返回1;否则返回0 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/154434.html原文链接:https
文章目录 Hsql函数.下(窗口函数、分析函数、增强group) 1.窗口函数与分析函数 1.1、**窗口函数** 1.2、OVER从句 1.3、分析函数 1.3.1、Hive2.1.0及以后支持Distinct...**增强的聚合 Cube和Grouping 和Rollup** 2.1、grouping sets 2.2、**CUBE** 2.3、rollup Hsql函数.下(窗口函数、分析函数、增强group)...OVER从句支持以下函数, 但是并不支持和窗口一起使用它们。 Ranking函数: Rank, NTile, DenseRank, CumeDist, PercentRank....Lead 和 Lag 函数....UNBOUNDED:无界限(起点或终点) UNBOUNDED PRECEDING:表示从前面的起点 UNBOUNDED FOLLOWING:表示到后面的终点 其他COUNT、AVG,MIN,MAX,和SUM用法一样
NVL(expr1, expr2): 1、空值转换函数; 2、类似于mysql-ifnull(expr1, expr2),sqlserver-ifnull(expr1, expr2)。
Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数。主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以。...下面简单介绍一下几个函数的用法。...在介绍这个之前你必须明白什么是oracle中的空值null 1.NVL函数 NVL函数的格式如下:NVL(expr1,expr2) 含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空...函数 NVL2函数的格式如下:NVL2(expr1,expr2, expr3) 含义是:如果该函数的第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第三个参数的值。...job_id 4.Coalesce函数 Coalese函数的作用是的NVL的函数有点相似,其优势是有更多的选项。
语法 COALESCE ( expression,value1,value2……,valuen) 2.说明 主流数据库系统都支持COALESCE()函数,这个函数主要用来进行空值处理,其参数格式如下...COALESCE()函数将会返回包括expression在内的所有参数中的第一个非空表达式。...COALESCE()函数可以用来完成几乎所有的空值处理,不过在很多数据库系统中都提供了它的简化版,这些简化版中只接受两个变量,其参数格式如下: MYSQL: IFNULL(expression,value...) MSSQLServer: ISNULL(expression,value) Oracle: NVL(expression,value) 这几个函数的功能和COALESCE(expression...相对于NVL来说,coalesce支持多个参数可以很方便的返回第一个不为空的值,如果改用nvl,就要嵌套很多层 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158548
Oracle的Nvl函数 nvl( ) 函数 从两个表达式返回一个非null 值。...语法 NVL(eExpression1, eExpression2) 参数 eExpression1, eExpression2 如 果 eExpression1 的计算结果为 null 值,则 NVL...如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 .NULL.。...4、NULL的处理使用NVL函数。 5、比较时使用关键字用“is null”和“is not null”。...6、空值不能被索引,所以查询时有些符合条件的数据可能查不出来, count(*)中,用nvl(列名,0)处理后再查。
(1)max()的用法 ? 我们想查寻在is_deleted=0下,id的最大值,可用如上语句,可以查出id最大为4. (2)min()的用法 同上: ?...(3)count()的用法 ?...比如上面的count(*),这样查出来的是在where条件下的总行数,is_deleted=0的行数为2,此时的值为3/2=1.5,count其实就是统计总数 (4)sum()的用法 ?...很容易可以得出:1+3+4=8 (5)avg()的用法 ?...avg()就是算平均数 注意:聚合函数都忽略null,如果要计算上null所在行,要使用ifnull函数,比如ifnull(xx,0)的意思是判断xx是否为空,如果为空,那后面的数字代替这个null值
select count(distinct(user_name)) from `user` 以上数据,是在mysql数据库,100万条数据,200万条数据,和300万条数据下做出验证的。
来源:https://blog.csdn.net/m0_37450089/article/details/80750994
1、字符串函数 ascii(str) 返回字符串str的第一个字符的ascii值(str是空串时返回0) mysql> select ascii('2'); -> 50 mysql...ascii()函数返回的相同值。...mysql> select conv("6e",18,8); -> '172' mysql> select conv(-17,10,-18); -> '-h' mysql> select...把参数连成一个长字符串并返回(任何参数是null时返回null) mysql> select concat('my', 's', 'ql'); -> 'mysql' mysql> select...', 2); -> 'www.mysql' mysql> select substring_index('www.mysql.com', '.
想要在字符串中查找某字符串可以使用instr()函数 instr()返回子字符串在字符串中首次出现的位置;如果没有找到,则返回0 用法: instr(str,substr) str:从哪个字符串中搜索...substr:要搜索的子字符串 instr()函数不区分大小写 mysql instr()函数示例: 如图,在abcd字符串中查找是否含有字符串b,返回的字符串位置是2....说明instr()函数返回的位置是从1开始的,如果找不到则返回0 ? 查找字符串中包含“民”的记录 ?...instr()函数与like运算符 在没有索引的情况下,instr()函数与like运算符的速度是一样的;在具有前缀搜索的LIKE运算符下,使用like运算符速度会更快一些 参考:https://blog.csdn.net
数学函数 abs(n) 返回n的绝对值 mysql> select abs(2); -> 2 mysql> select abs(-32); -> 32...sign(n) 返回参数的符号(为-1、0或1) mysql> select sign(-32); -> -1 mysql> select sign(0); ...-> 0 mysql> select sign(234); -> 1 mod(n,m) 取模运算,返回n被m除的余数(同%操作符) mysql> select...mod(234, 10); -> 4 mysql> select 234 % 10; -> 4 mysql> select mod(29,9); -...> 2 floor(n) 返回不大于n的最大整数值 mysql> select floor(1.23); -> 1 mysql> select floor(-1.23
mysql中一个很好用的截取字符串的函数:substring_index。...用法规则: substring_index(“待截取有用部分的字符串”,“截取数据依据的字符”,截取字符的位置N) 具体例子: 首先假定需要截取的字符串为“192,168,8,203”(虽然这里指的不是
mysql> select weekday('1997-10-04 22:23:00'); -> 5 mysql> select weekday('1997-11-05');...; -> 7 mysql> select week('1998-02-20',0); -> 7 mysql> select week('1998-02-20',1...date,interval expr type) 对日期时间进行加减法运算 (adddate()和subdate()是date_add()和date_sub()的同义词,也 可以用运算符+和-而不是函数...mysql> select time_to_sec('00:39:38'); -> 2378 转换函数 cast 用法:cast(字段 as 数据类型) [当然是否可以成功转换,还要看数据类型强制转化时注意的问题...] 实例:select cast(a as unsigned) as b from cardserver where order by b desc; convert: 用法:convert(字段,数据类型
领取专属 10元无门槛券
手把手带您无忧上云