a.组函数 b. 分组统计group by 描述二: i. 在程序中使用分组函数,有两种可以使用的情况 使用group by并指定分组条件 不使用group by的话,只能单独使用分组函数 ii. 使用分组函数时,不能出现分组函数和分组条件之外的字段 iii. 分组函数只能在分组中使用,不允许在where语句之中出现,要指定分组的条件只能通过having iv. having语句执行顺序在groupr by分组之后,order by排序之前 v. 分组函数可以嵌套使用,但是在组函数嵌套使用时不能再出现分组条件的查询语句 —select max(avg(sal)) from emp group by deptno;—deptno不能再进行查询 i. 字符函数—接收字符返回字符或数值,作用:字符大小的转换、字符的长度 示例:求出姓名的后三个字符 select substr(ename,length(ename)-2,3) from emp; 扩展:substr()函数可采用倒值的方式截取—select substr(ename,-3,3) from emp; ii. 数值函数—接收数值返回数值 iii. 日期函数—对日期型数据进行操作 iv. 转换函数—从一种数据类型转换为另一种数据类型 v. 通用函数—NVL函数、DECODE函数 使用案列:雇员的工作类型有很多,但表示的方法是英文,要求查询出雇员的编号,姓名,雇佣及工作,将工作类型替换为中文表示 select empno 雇员编号,ename 雇员姓名,hiredate 雇佣日期, 并(union)、交(intersect)、差(minus)
各个数据库之间的区别就是提供的函数不同
一、组函数与分组统计
i. count()---统计数量 ii. max()---求出最大值 iii. min()---求出最小值 iv. avg()--求出平均值 v. sum()---得到总数
执行顺序在(where之后from—where—group by—having—select–order by)
描述一:1) 统计函数必须出现在分组统计中,所谓的分组就是指列中存在重复的内容,使用group by的方式进行分组的统计 2) 如果要加入分组条件,则编写having子句,所有的统计函数作为条件的话只能在having子句中出现,不能在where中出现 3) 在使用分组的时候,一定要注意,查询的时候只能出现分组函数或是分组条件(即分组字段) 4) 分组函数允许嵌套,但是嵌套之后就不能再查询其他的字段,包括分组字段
二、单行函数
orcale提供的主要单行函数
1) select upper('smith') from dual---在orcale中进行验证的话需要也使用select查询语句并使用 dual 表(这是一张虚拟表), 使用其他的真实数据表会返回相应数据条数的结果 2) upper()函数字符串变为大写字母显示---select * from emp where ename=upper('smith') 3) lower()函数将字符串变为小写字母显示 4) initcap()函数将单词的首字母大写显示---select initcap(ename) from emp 5) 扩展:字符串除了使用“||”连接之外,还可以使用concat()函数进行连接操作,但不如前者方便 6) 对字符串进行截取,求出字符串长度,进行内容替换 a) 注意:java中的字符串有length()方法,数组只有length属性 b) substr()---字符串的截取点从0或1开始效果是一样的,但最好从0开始 c) length()---字符串长度 d) replace()---内容替换 e) select substr('hello',1,3) 截取字符串 , length('hello') 字符串长度, replace('hello','l','x') 字符串替换 from dual
1) 四舍五入:round()---也可指定四舍五入的位数,也可对整数进行四舍五入的操作 2) 截断小数位:trunc()---不会保留任何小数,而且小数点也不会执行四舍五入的操作, 但是指定之后可以保留指定的位数,还可以进行整数位的截取 3) 取余(取模):mod()---select mod(10,3) from dual;----十除三得一
1) 加减日期 a) 日期与数字加减还是日期 b) 日期与日期相减是数字(天数) 2) 求出当前日期---select sysdate from dual; 3) 示例:求工作了多少个星期:当前日期-雇佣日期得到天数,天数除以7得到星期数 4) months_between()---求指定日期范围内有多少个月---会包含小数点可以使用round()函数进行处理 5) add_months()---对指定的日期加上指定的月数,可以求出之后的日期是哪一天 6) next_day()---下一个的指定的星期数是什么日期 7) last_day()---返回指定日期对应月份的最后一天
1) to_char()---转换成字符串---日期拆分,格式化 2) to_number()---转换成数字 to_number('123') + to_number('123') 3) to_date()---转换成日期 to_date('2020-05-08','yyyy-mm-dd') 4) 年月日进行分开可以使用to_char()函数进行拆分,拆分时必须指定拆分的通配符 ---yyyy(年)mm(月)dd(日)---to_char(hiredate,'yyyy') 5) to_char()函数可以进行日期显示的转换功能---to_char(hiredate,'yyyy-mm-dd') ---去掉表示月份的第一个0加上fm:to_char(hiredate,'fmyyyy-mm-dd') 6) 之前的都是用在日期上,还可以用在数字上---对数字进行格式化使用“9”表示以为数字:to_char(sal,'99,999') 7) 使用$表示美元,L表示以本地语言进行金额显示:to_char(sal,'$99,999')
1) nvl()可以将一个数据为null的字段指定内容---nvl(comm,0) 2) decode()函数类似if..elseif..else..语句
decode(job,‘英文工作名称’,‘中文工作名称’,‘英文工作名称’,‘中文工作名称’,‘英文工作名称’,‘中文工作名称’) 职位 from emp;四、 集合操作
a. union---将多个查询的结果组合到一个查询结果中,没有重复内容 b.union all---与上面一样,但包含重复内容 c. intersect---返回多个查询结果中相同的部分 d. minus---返回两个查询结果的差集(即两张表的不重复的部分)
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算