plsql知识梳理-常用函数

plsql中很多的操作函数,我这边只是梳理了一些特常用的函数。

1 substr()

  substr(字段,a,b)

  a代表第几个位置

  b代表长度

   a参数中0和1的效果一样

  用负数则从右边开始数第几个位置

  如下图 执行的效果

 

2 concat()

concat 函数只能连接2个字符串,不能一次性的连3个字符串。

 

  3  lower,upper
     Lower:返回字符串,并将所有的字符小写
     Upper:返回字符串,并将所有的字符大写

 

4 Trim,Ltrim,Rtrim
   rim、Ltrim及Rtrim函数完成将字符串中的一部分或全部空格去掉。
  Trim去掉字符串中的头部和未部空格。
  Ltrim去掉字符串中起始的空格。
  而Rtrim将字符串末尾的空格都去掉。

 请看下图的执行效果

 

 

 

  5 to_char(n,format) 和to_date(string,format)

   to_char 就是将数值型或者日期型转化为字符型
   数值型  函数规格化时 90.0999的含义是有9的地方如果是数字就显示如果没有数字就不显示;有0的地方在没有数字的时候也会有0来占位。

 主要事项:
1) 上图中的0.789数值经过to_char后再显示变成了.789。
2)  指定的FM格式 会在按位截取小数的时候四舍五入了。

to_char ---日期格式的内容

To_date()
函数将char   或varchar2类型的值转化为一个Date值。

6 floor ceil round trunc

 FLOOR——对给定的数字取整数位
CEIL ——返回大于或等于给出数字的最小整数
ROUND——按照指定的精度进行四舍五入,传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果
TRUNC——按照指定的精度进行截取一个数

trunc(x [,y]),其中如果没有指定y,则对x在0位小数上进行简单的截断. 如果y是负数,则对x在小数点左边的第|y|位处进行截断,对应负数,位数计算是从0开始的,小数点左一位为0位置。-1 就是要操作十位上的数,-2就是要操作百位上的数。

round(x [,y])  其中如果没有指定y,则对x在0位小数进行四舍五入的取整。如果y是负数,则对x在小数点左边的第|y|位处进行四舍五入的取整。对应负数,位数计算是从0开始的,小数点左一位为0位置。就是要操作十位上的数。-2就是要操作百位上的数。

 7  聚合函数—SUM,AVG,MIN,MAX,COUNT

     Sum 该函数计算组中表达式的累积和。
     MIN 该函数计算组中表达式的最小值。
     MAX 该函数计算组中表达式的最大值。
     AVG 该函数计算组中表达式的平均值。
     Count 该函数计算组中的记录个数。

 

8  group by, having,order by

    Order by 就是行排序 默认是升序。 后面可以是多个字段名。
    Group by 分组,就一般是和聚合函数配合使用,就是要将数据分类汇总。
    Group by 有分组查询的意思,有一个原则就是select 后面的所有列中,没有使用聚合函数的列,必须出现在group by 后面。

    Having子句被限制在已经select 语句中定义的列和聚合表达式上。

    where 和 having

    Where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据。条件中不能包含聚合函数。

    Having 子句的作用是筛选满足条件的组,即在分组之后过滤数据。条件中经常包含聚合函数。

 

 

9 distinct 过滤重复行函数

10  Replace 替换函数

   

 

11 case when

  Case具有两种格式。简单Case函数和Case搜索函数。

  

 

12   nvl2,decode

          NVL2(expr1,expr2,expr3)
  功能:如果参数表达式expr1值为NULL,则NVL2()函数返回参数表达式expr3的值;如果参数表达式expr1值不为NULL,则NVL2()函数返回参数表达式expr2的值。

         DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )
        DECODE函数是ORACLE PL/SQL的功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其它数据库厂商的SQL实现还没有此功能。

       如果用DECODE函数,那么我们就可以把很多If – Then –Else 流控制语句省略,通过SQL语句就可以直接完成。

     Value 代表某个表的任何类型的任意列或一个通过计算所得的任何结果。当每个value值被测试,如果value的值为if1,Decode 函数的结果是then1;如果value等于if2,   

        Decode函数结果是then2;

   

 

  

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值