概念:函数类似于java的方法(将实现某个功能的逻辑语句封装到方法中,对外暴露一个公开的名字,就是方法名)。
好处:
1.隐藏类具体功能的实现细节
2.提高代码的重用性
调用:
SELECT 函数名(实参列表) (实参和形参的 个数、类型 必须一致)
FROM 表(根据需要:函数的参数用到表中的字段)
过程:调用该函数,把函数的逻辑语句执行完,将它的返回值显示出来。
————————————————
版权声明:本文为CSDN博主「大格子嘞」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_43971504/article/details/103605281
分类:
1.单行函数: 输入一行,输出也还是一行,检索一行处理一次;
2.多行函数: 输入多行数据,输出是一个结果,检索出来的数据分成组后再进行处理;
根据参数类型不同,可以分为:
字符类函数: 是专门用于字符处理的函数,处理的对象可以是字符或字符串常量,也可以是字符类型的列;
函数 | 说明 |
ascii© | 返回一个字符的ASCII码,c表示一个字符 |
chr(i) | 返回给出ASCII码值所对应的字符,i表示一个ASCII码值 |
concat(s1,s2) | 将字符串s2连接到字符s1的后面;若s1为null,则返回s2;若s2为null,则返回s1;若s1和s2都为空,则返回null |
initcap(s) | 将字符串s的每个单词的第一个字母大写,其他字母小写;单词之间用空格、控制字符、标点符号来区分 |
instr(s1,s2[,i][,j]) |
返回字符串s2在字符串s1中第j次出现的位置,搜索从字符串s1的第i个字符开始; 当没有发现要查找的字符时,该函数的返回值为0; 若i为负数,则搜索将从右到左进行,但函数的返回位置还是按从左到右来计算; s1和s2均为字符串,i和j均为整数,默认值为1 |
length(s) | 返回字符串s的长度;若s为null,则返回值为null |
lower(s) | 返回字符串s的小写形式 |
upper(s) | 返回字符串s的大写形式 |
ltrim(s1,s2) | 删除字符串s1左边的字符串s2 |
rtrim(s1,s2) | 删除字符串s1右边的字符串s2 |
trim(s1,s2) | 删除字符串s1左右两端字符串s2 |
replace(s1,s2[,s3]) | 使用s3字符串替换出现在s1字符串中的所有s2字符串,并返回替换后的新字符串;s3的默认值为空字符串 |
substr(s,i[,j]) | 从字符串s的第i个位置开始截取长度为j的子字符串;若省略j,则直接截取到尾部 |
数字类函数: 主要用于执行各种数据计算,所有的数字类函数都有数字参数并返回数字值;
函数 | 说明 |
abs(n) | 返回n的绝对值 |
ceil(n) | 返回大于或等于数值n的最小整数 |
cos(n) | 返回n的余弦值,n为弧度 |
exp(n) | 返回e的n次幂,e=2.71828183 |
florr(n) | 返回小于或等于n的最大整数 |
log(n1,n2) | 返回以n1为底n2的对数 |
mod(n1,n2) | 返回n1除以n2的余数 |
power(n1,n2) | 返回n1的n2次方 |
pound(n1,n2) |
返回舍入小数点右边n2位的n1的值,n2的默认值为0,这会返回小数点最接近的整数; 如果n2为负数,就舍入到小数点左边相应的位上,n2必须是整数 |
sign(n) | 若n为负数,则返回-1;若n为正数,则返回1;若n=0,则返回0 |
sin(n) | 返回n的正弦值,n为弧度 |
sqrt(n) | 返回n的平方根,n为弧度 |
trunc(n1,n2) |
返回结尾到n2位小数的n1的值,n2的默认设置为0, 当n2为默认设置时,会将n1截尾为整数,如果n2为负值,就截尾在小数点左边相应的位上 |
日期和时间类函数: 用于处理日期和时间的函数,可以实现计算需要的特定日期和时间;
日期类型的默认格式是“DD-MON-YY”,DD表示两位数字的“日”,MON表示3位数字的“月份”,YY表示两位数字的“年份”;
函数 | 说明 |
add_months(d,i) | 返回日期d加上i个月之后的结果,i为任意整数 |
last_day(d) | 返回包含日期d月份后的最后一天 |
months_between(d1,d2) |
返回d1和d2之间的数目,若d1和d2的日期都相同,或者都是该月的最后一天, 则返回一个整数,否则返回的结果将包含一个小数 |
new_time(d1,t1,t2) | 当时区t1中的日期和时间是d1时,返回时区t2中的日期和时间;d1是一个日期数据类型,t1和t2是字符串 |
sysdate() | 返回系统当前的日期 |
转换类函数: 用于将数据从一种类型转换为另外一种类型;
函数 | 说明 |
chartorwida(s) |
该函数将字符串s转换为rwid数据类型 |
convert(s,aset[,bset]) | 该函数将字符串s由bset字符集转换为aset字符集 |
rowidtochar() | 该函数将rowid数据类型转换为char类型 |
to_char(x[,format]]) | 该函数实现将表达式转换为字符串,format表示字符串格式 |
to_date(s[,format[lan]]) | 该函数将字符串s转换为date类型,format表示字符串格式,lan表示所使用的语言 |
to_number(s[,format[lan]]) | 该函数将返回字符串s代表的数字,返回值按照format格式进行显示,format表示字符串格式,lan表示所使用的语言 |
聚合类函数: 用于对一组数据进行计算,并得到相应的结果;
函数 | 说明 |
avg(x[distinct/all]) | 计算选择列表项的平均值,列表项目可以是一个列或多个列的表达式 |
count(x[distinct/all]) | 返回查询结果中的记录数 |
max(x[distinct/all]) | 返回选择列表项目中的最大数,列表项目可以是一个列或多个列的表达式 |
min(x[distinct/all]) | 返回选择列表项目中的最小数,列表项目可以是一个列或多个列的表达式 |
sum(x[distinct/all]) | 返回选择列表项目的数值总和,列表项目可以是一个列或多个列的表达式 |
variance(x[distinct/all]) | 返回选择列表项目的统计方差,列表项目可以是一个列或多个列的表达式 |
stddev(x[distinct/all]) | 返回选择列表项目的标准偏差,列表项目可以是一个列或多个列的表达式 |
附: dual是Oracle系统内部提供的一个用于实现临时数据计算的特殊表,它只有一个列DUMMY,类型为VARCHAR2(1);
原文:https://www.cnblogs.com/rijiyuelei/p/12324324.html