数据库存储过程和函数的区别

数据库存储过程和函数的区别,第1张

1一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。

2对于存储过程来说可以返回参数,而函数只能返回值或者表对象。

3存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。

4当存储过程和函数被执行的时候,SQL Manager会到procedure cache中去取相应的查询语句,如果在procedure cache里没有相应的查询语句,SQL Manager就会对存储过程和函数进行编译。

NVL(exp1,exp2),如果exp1的计算结果为null值,则NVL()返回zhidaoexp2。如果exp1的计算结果不版是null值,则返回exp1。

使用样例如下:

1、创建测试表,

create

table

test_nvl(value

varchar2(50));

2、插入测试数据

insert

into

test_nvl

values('123');

insert

into

test_nvl

values('456');

insert

into

test_nvl

values('');

insert

into

test_nvl

values('666');

insert

into

test_nvl

values('111');

commit;

3、查询表中全量数据,select

t,

rowid

from

test_nvl

t;

4、编写sql,使用nvl函数,可以发现空值权转为了1;

select

t,

nvl(value,1)

value2

from

test_nvl

t;

1单行函数:对每一个函数应用在表的记录中时,只能输入一行结果,返回一个结果,比如:MOD(x,y)返回x除以y的余数(x和y可以是两个整数,也可以是表中的整数列)。常用的单行函数有:

字符函数:对字符串 *** 作。

数字函数:对数字进行计算,返回一个数字。

转换函数:可以将一种数据类型转换为另外一种数据类型。

日期函数:对日期和时间进行处理。

2聚合函数:聚合函数同时可以对多行数据进行 *** 作,并返回一个结果。比如SUM(x)返回结果集中x列的总和。

因数据库不同有不同的函数,以oracle为例:常用的有单条语句作用的函数:destinct(去除重复行),to_char(转换自符串),to_date(日期格式函数),sumstr(截取自符串),lower(将字母转换为小写),upper(将字母转换为小写),char(将数字转换为字符),ascii(求字符的ascii码)等函数;

组函数:min(求最小值),max(求最大值),avg(求平均数),sum(求总和),counnt(统计记录数);

常用的看你使用程度了\x0d\\x0d\常用的有日期处理函数(month_between,add_months,next_day,extract)\x0d\转换函数(to_number,to_char,to_date)\x0d\字符处理函数(substr,replace,trim,upper,lower,concat,instr)\x0d\数学函数(我基本没用过,所以无法提供 rondom,trunc)\x0d\逻辑函数(coalesce,nvl)\x0d\聚集函数(sum,avg,max,min)

以上就是关于数据库存储过程和函数的区别全部的内容,包括:数据库存储过程和函数的区别、在oracle数据库中nvl()是什么函数、oracle数据库哪些函数(oracle数据库功能介绍)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10061440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存