Oracle有很多内置函数来丰富sql的功能,主要使用两种类型的函数:
1.单行函数:一个数据行的列值作为输入参数,并返回一个结果。常用的单行函数主要有:字符串函数(to_char(),substr())、数值函数(abs(),mod(),round())、转换函数(to_char(),to_number(),to_date())、日期函数(trunc(),sysdate(),add_months())
2.聚合函数:对多行数据进行操作,并返回一个结果,如sum返回结果集中x列的总和。
例如,求学生的平均年龄。
select avg(t.age) from student.stuinfo t;
例如,求学生个数。
select count(*) from student.stuinfo;
例如,按班分组显示学生的平均年龄。这里有一个group by的用法。
为了练习,我又插入了两条数据。
INSERT INTO "STUDENT"."STUINFO" (STUID, STUNAME, SEX, AGE, CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER) VALUES ('sc201802001', '陈风', '1', '27', 'c201802', '福建省福州市xxx号', '2018', TO_DATE('2018-09-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '3503031991xxxxxxxx')
INSERT INTO "STUDENT"."STUINFO" (STUID, STUNAME, SEX, AGE, CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER) VALUES ('sc201802002', '李刚', '1', '26', 'c201802', '福建省福州市xxx号', '2018', TO_DATE('2018-09-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '3503031992xxxxxxxx')
查询语句为
select t.classno, avg(t.age)
from student.stuinfo t
group by t.classno;
这些函数的用法就不赘述了,把链接贴过来,需要的时候再查。
字符型函数:https://www.oraclejsq.com/article/010100320.html
日期型函数:https://www.oraclejsq.com/article/010100358.html
数值型函数:https://www.oraclejsq.com/article/010100360.html
转换函数:https://www.oraclejsq.com/article/010100362.html
聚合函数:https://www.oraclejsq.com/article/010100364.html