第四章 函数

1. 介绍

根据函数返回结果,氛围单行函数多行函数
1.单行函数:对应在表记录时,一条记录返回一个结果。例如lower(x),将x转换为小写。
2.多行函数:也称 组函数 或 聚合函数,可以同时对多条记录进行操作,返回一个结果。如max(x),求最大值。

2. 常用单行函数

2.1 字符函数
  • concat(x,y):连接字符串x和y
    (区分于连接符 ||:连接符得到的是伪列)
  • instr(x,str,start,n):在x中查找str,可以指定从start开始,也可以指定从第n个str开始
    如 在“helloworld”中找第二个l:
    select instr('helloworld','l',1,2) from dual;
  • length(x):返回x的长度。
  • lower(x):将x转换为小写。
  • upper(x):将x转换为大写。
  • ltrim(x,trim_str):截去x左边trim_str字符串,缺省截去空格。
  • rtrim(x,trim_str):截去x右边trim_str字符串,缺省截去空格。
  • replace(x,old,new):在x中用new替换所有old
  • substr(x,start,length):在x中,从start处开始截取length个字符,返回截取的字符串。若缺省length,默认到结尾
2.2 数学函数
  • abs(x):返回x的绝对值。
  • sign(x):返回x的正负值,正值返回1,负值返回-1,0返回0。
  • ceil(x):向上取整。
  • floor(x):向下取整。
  • power(x,y):返回x的y次幂。
  • exp(y):返回e的y次幂。
  • mod(x,y):返回x除以y的余数
2.3日期函数
  • sysdate:当前系统时间
  • current_date:返回当前系统日期
  • add_months(d1,n1):返回在日期d1基础上再加n1个月后的日期
    last_day(d1):返回日期d1所在月份最后一天的日期
  • months_between(d1,d2):返回日期d1到日期d2之间的月数
  • next_day(d1[,c1]):返回日期d1在下周,星期几(c1)的日期
2.4转换函数
  • to_char(x,c):将日期或数据x按照c的格式转换为char类型
    如:
select to_char(sysdate,'mm/dd/yyyy') from dual;
select to_char(sysdate,'mm "月" dd"日" yyyy"年") from dual;

中文要用双引号(En)

  • to_date(x,c):将字符串x按照c的格式转换为日期
  • to_number(x):将字符串x转化为数字型

3. 常用组函数

组函数同时对多条记录进行操作,返回一个结果

  • avg():平均值
  • sum():求和
  • min():最小值
  • max():最大值
  • count():统计

ps:null不参与运算

4. group by分组

将满足条件的记录进一步按照某特性进行分组,提取每组记录中的共性。
结构:
select ... from ... where ... group by ...

5. having过滤组信息

要获取的组信息也许要满足一定条件时,通过having来过滤组的条件
结构:
select ... from ... where ... group by ... having ...

6. 过滤行记录和组信息

行记录的过滤是针对每条记录的筛选,组信息的过滤是针对组的筛选,可同时出现,先筛选行,再过滤组。
where筛选行,只出现行信息
having过滤组,只出现组信息
结构:
select ... from ... where ... group by ... having ...

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 当编写代码在两个数字之间进行插值时,很容易默认为线性插值。然而,在两个值之间平稳过渡通常会更好。所以我的建议是避免...
    影痕残碎阅读 181评论 0 0
  • 程序可以看做是变量定义和函数定义的集合,函数之间的通信可以使用参数、函数返回值、和外部变量。函数执行完成后会退出当...
    Hy_Slin阅读 162评论 0 0
  • 函数的基本知识 函数是对一系列计算或操作的过程的抽象函数可以把大的计算任务分解成若干个较小的任务,程序设计人员可以...
    阳光下的蚂蚁阅读 403评论 0 0
  • 函数 JS设计得最出色的就是它的函数的实现。它几乎接近完美。但是,想必你也能预料到,JS的函数也存在瑕疵。所谓编程...
    __越过山丘__阅读 195评论 0 0
  • 第七课 案例实操:定义计算N的阶乘的函数 1、使用循环计算阶乘 控制循环计数器从1循环到N 让循环计数器与前一个结...
    但丁的学习笔记阅读 217评论 0 9