单行函数之字段,数字,通用

---------------将字段拼接 concat
select concat(‘Hello’,‘World’) from dual;
---------------字段范围截取 substr
select substr(‘HelloWorld’,3,7) from dual;
-------------获取字段长度 length
select length(‘HelloWorld’) from dual;
-------------------检索字符位置 instr
select instr(‘HelloWorld’ ,‘W’) from dual;
---------------补字符 左 lpad
select lpad(‘HelloWorld’,15,’’) from dual;
---------------补字符 左 rpad
select rpad(‘HelloWorld’,15,’
’) from dual;
------------- 左边去空格
select ltrim(’ HelloWorld’) from dual;
在这里插入图片描述
------------- 右边去空格
select rtrim(’ HelloWorld ') from dual;

--------------数字函数 round 四舍五入,trunc 截断 ,mod 求余
select round(12.345,1),round(12.345,0),round(12.345,-1) from dual;

select trunc(12.345,1),trunc(12.345,0),trunc(12.345,-1) from dual;

在这里插入图片描述
select mod(12.345,1),mod(12.345,0),mod(12.345,-1) from dual;

-------------------------通用函数 适用于各种数据类型,包括控值
-----NVL (expr1, expr2),NVL2 (expr1, expr2, expr3),NULLIF (expr1, expr2),
-----COALESCE (expr1, expr2, …, exprn)
-----------nvl 将空值转换为一个已知的值(类似于修改),数据类型有 数字,日期,字符
------ nvl(a,b) 如果a 为空,就返回b 类似于 判断, a 和b 要同数据类型
select nvl(’’,123) from dual;
---------nvl2(a,b,c) 如果a不为为空就返回b 反之就是c 类似于if…else
select nvl2(1,‘不为空’,1)from dual;
---------------------nullif(a,b) 判断 a,b 是否相等 ,相等就返回 , 否则返回 a
select nullif(1,2) from dual;
------------coalesce(a,b,…,d) 可以同时处理多个值,如果a 为空 就返回b 以此类推,
------------加长版的 if…else…if( nvl 的神仙版 nvl是凡人只有一双手,coalesce 是神仙)
select coalesce(’’,’’,’’,‘7’)from dual;
select coalesce(’’,‘3’,’’,‘7’)from dual;-----为什么这个 7 没返回呢
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44547407/article/details/89082174