什么是oracle函数
oracle函数是PL/SQL子程序,作为数据库对象存储在oracle数据库中,会对传递进来的参数进行处理,并返回一个处理结果,也就是返回一个值,通常用于返回特定的数据,oracle函数可分为系统函数和用户自定义函数两类。
本教程操作环境:Windows10系统、Oracle 19c版本、Dell G3电脑。
Oracle函数的定义
函数是作为数据库对象存储在oracle数据库中,函数又被称为PL/SQL子程序。
函数会对传递进来的参数进行处理,并返回一个处理结果,也就是返回一个值。通常用于返回特定的数据。
oracle函数可分为两类:系统函数和用户自定义函数。
ORACLE函数之单行函数
- 不改变真实数据,只对数据做进一步修饰或处理显示
- 可和字段混合使用
伪表:真实存在的表,方便进行数据验证而临时存在;表名:dual
1.字符函数
2.数值函数
3.日期函数
注:
- p为YEAR,round按1-6月和7-12月,四舍五入到最近的yyyy年1月;trunc截取到本年第一天。
- p为MONTH,round按1-15日和16-30日,四舍五入到最近mm月的1日;trunc截取到本月第一天。
- p为DAY,round按周一至周三和周四至周日,四舍五入到最近的周日。trunc截取到本周第一天。
oracle函数之多行函数
- 对查询数据进行统计
不能和普通字段及单行函数混合使用,除非分组
函数名 作用 max(字段名)返回该字段最大值min(字段名)返回该字段最小值sum(字段名)返回该字段的和avg(字段名)返回该字段平均值count(*)返回表记录数count(字段名)返回非空值数量count(distinct 字段名)返回去重后字段值数量
oracle函数之转换函数
to_number(数值类型的字符):将字符转换为数值
to_char(数值或日期):将数值或日期转换为字符
指定显示格式:
9表示占位,例:999,999,999会将数字按三个一组逗号隔开。
0表示占位,若实际数据位数不足,则用0补位。
L表示人民币符号,$表示美元符号。
注:数值和字符之间可隐式转换。
to_date(日期格式的字符):将字符转换为日期(一般新增使用,查询用to_char)
常用日期格式:yyyy-mm-dd
yyyy/mm/dd
'yyyy"年"mm"月"dd"日"'
注:字符必须符合日期格式;oracle默认转换格式为日月年,例'25-8月-2020'。
oracle函数之其他函数
nvl(字段名,新的值):若字段值不为null,则返回该字段值;若为null,则返回新的值。
nvl2(字段名,处理1,处理2):若字段值不为null,则执行处理1;若为null,则执行处理2。
decode(字段名,值1,处理1,值2,处理2,值3,处理3,...,公共处理):若字段值和decode中条件值相同,则执行对应的处理。若都没有,则执行公共处理。