• Oracle 函数


    汇总函数、统计函数、聚合函数、分组函数

    汇总函数必须跟 group by 语句一起使用,对数据进行分组汇总。

    ① 求和:sum(col)。列必须是数值。

    ② 最小值:min(col)。列可以是数值,也可以是字符。

    ③ 最大值:max(col)。列可以是数值,也可以是字符。

    ④ 平均值:avg(col)。列必须是数值。

    ⑤ 求记录数:count(*/1/col/distinct col)。

    ⑥ 中间值:median(col)。列必须是数值、时间、日期。不常用。

    ⑦ 方差:variance(col)。列必须是数值。基本没用过。

    ⑧ 标准差:stddev(col)。列必须是数值。基本没用过。

    字符串处理函数

    ① substr(string,a,b)/substr(string,a)

    string 为字符串,string 表示需要截取的字符串。

    a、b 均为整型数字,a 表示开始截取的位置,b 表示截取几位,b 为空时冲开始位置截取全部字符串。

    ② instr(string1,tring2,start_positiong,nth_appearance)

    返回的是需要查找的字符串在string的绝对位置。

    string1 为字符串,在 string1 中进行查找。

    string2 为字符串,表示即将要查找的字符串。

    start_positiong 为整型数据,表示要从这个位置开始查找。为正数时,从左到右查找,为负数时,从优到左查找。

    nth_positiong 为正正数,负数时会报错。表示查找第几次出现的string2。为空时默认为 1 。

    使用:通常通过判断这个返回值确定某字段是否包含另一个字段。

    ③ replace(string1,tring2,sring3)

    sring 为字符串;

    string1 表示即将要修改和查找的字段。string2 表示要查找的字段,即被替换的字段;string3 表示要替换的新字段。

    ④ decode(string, tring1, value1, value2)

    string 表示原字符串或者表达式,string1 表示需要满足的条件,可以是值,也可以是表达式。

    如果满足条件,则返回 value1 ,如果不满足条件,则返回 value2 。

    decode(string, tring1, value1, string2, value2……)

    string 表示原字符串,如果字符串为 string 等于 string1,则返回 value1 ,如果字符串为 string 等于 string2,则返回 value2。

    数字处理函数

    ① mod(number1,number2)

    取余数的函数,比如mod(10,3) = 10/3 = 1。

    ② round(number,num_ditigs) 、trunk(number,num_ditigs) 

    number 表示要取整的数字, num_ditigs 表示要截取的小数位数,num_ditigs 为空默认为 0 。

    ③ nvl(a.b)

    a、b 均为数值,是也可以是汇总函数;如果 a 为空值,则返回 b 。

    其它

    ① wm_concat()

    把列转换成一行一列显示,使用wm_concat函数可以显示在一行一列。

     1 --1 建表
     2 
     3 create table province_city
     4 (
     5 province varchar2(100),
     6 city varchar2(100)
     7 );
     8 
     9 --2 插入数据
    10 
    11 insert into province_city (province, city)values ('陕西', '西安');
    12 insert into province_city (province, city)values ('陕西', '宝鸡');
    13 insert into province_city (province, city)values ('陕西', '汉中');
    14 insert into province_city (province, city)values ('湖北', '武汉');
    15 insert into province_city (province, city)values ('湖北', '宜昌');
    16 insert into province_city (province, city)values ('湖北', '襄阳');
    17 
    18 commit;
    19 
    20 --查询结果
    21 
    22 select * from province_city;
    23 
    24 select province,
    25        wm_concat(city || chr(10)),
    26        wm_concat(city || chr(13)),
    27        wm_concat(city || chr(9))
    28   from province_city
    29  group by province;
    30 
    31 --里面的子信息会按照一行一列的方式进行排列。
  • 相关阅读:
    【Codeforces 776B】Sherlock and his girlfriend
    BZOJ4942 NOI2017整数(线段树)
    BZOJ4516 SDOI2016生成魔咒(后缀数组+平衡树)
    BZOJ4943 NOI2017蚯蚓排队(哈希+链表)
    Codeforces Round#500 Div.2 翻车记
    BZOJ5093 图的价值(NTT+斯特林数)
    BZOJ2821 作诗(分块)
    BZOJ2724 [Violet]蒲公英(分块)
    BZOJ2001 HNOI2010城市建设(线段树分治+LCT)
    BZOJ1093 ZJOI2007最大半连通子图(缩点+dp)
  • 原文地址:https://www.cnblogs.com/wangrui1587165/p/9269506.html
Copyright © 2020-2023  润新知