Oracle(11g)数据库教程之十一:Oracle系统函数及自定义函数

x33g5p2x  于2021-12-24 转载在 其他  
字(1.1k)|赞(0)|评价(0)|浏览(310)

Oracle(11g)数据库教程之十一:Oracle系统函数及自定义函数

准备工作:

先启动Oracle,并打开前期建立的数据库和表

查看每个表的结构:

一、系统函数

知识储备:DUAL是Oracle与数据字典一起自动创建的一个表,它只有一列:DUMMY,其数据类型为:VARCHAR2(1)。DUAL中只有一行数据:'X'。DUAL属于SYS模式,但所有用户都可以使用DUAL名称访问它。用SELECT计算常量表达式、伪列等值时常用该表,因为它只返回一行数据,而使用其它表时可能返回多个数据行。

1、数学函数

(1)、abs();  求一个数的绝对值

(2)、**sqrt(); **求一个数的平方根。sqrt是sqruar(平方,矩形) ,root(根)的缩写。

(3)、power()  幂运算

(4)、随机数

产生一个任意大小的随机数: 

产生一个0~1之间的随机数

产生一个10~20之间的随机数

随机排序(每次的结果不一样,可以用来随机抽取:比如随机取5名同学,用来摇号或抽奖实际场景)

(5)、三角函数

(6)、ceil()  进一取整、 **floor()**舍一取整

(7)、trunc(x,y)  比较霸道,不管四舍五入,直接把x,的y位小数直接舍去。

(8)、**round****函数:**round(数值,n):结果近似到小数点右侧的n位。

2、字符串函数

几个常用的字符串函数

(1)、字符串连接

(2)、字母大小写转换函数UPPER()和LOWER()

(3)、字符串长度

3、日期和时间函数

(1)、Oracle获取系统当前时间:

(2)、年、月、日

求每个同学的年龄

查询八月出生的学生信息

二、用户自定义函数(每个例子要运行出来,并理解每一行代码含义)

Oracle****自定义函数的语法如下:

1.    create or replace function函数名(参数1 模式 参数类型) 

2.    return返回值类型 

3.    as 

4.   变量1 变量类型; 

5.   变量2 变量类型; 

6.    begin 

7.       函数体; 

8.    end函数名;

参数的模式有3种:(如果没有注明, 参数默认的类型为 in.)

in: 为只读模式, 在函数中, 参数的值只能被引用, 不能被改变;

out: 为只写模式, 只能被赋值, 不能被引用;

in out:  可读可写.

例1、计算某一门课程全体学生的平均成绩(在Oracle自带的编辑环境)

运行:(函数调用时,可多举例不同学科的平均分)

例2、创建一个统计数据库中不同性别人数的函数

运行:

另外一种调用函数方式

例3、用函数count_num统计student表中有多少男同学。

删除函数:

drop function count_num;

或在界面

直接删除。

相关文章