Oracle数据库中的函数是一种预编译的SQL语句,它可以接收输入参数并返回一个结果,函数可以用于执行复杂的计算、数据转换和数据操作等任务,在Oracle数据库中,函数分为以下几类:

1、单行函数(SingleRow Functions)
2、聚合函数(Aggregate Functions)
3、分析函数(Analytic Functions)
4、数字函数(Numeric Functions)
5、字符函数(Character Functions)
6、日期函数(Date Functions)
7、类型转换函数(Type Conversion Functions)
8、控制流函数(Control Flow Functions)
9、其他函数(Miscellaneous Functions)
| 函数名称 | 功能描述 |
| NVL | 如果第一个参数为NULL,则返回第二个参数的值;否则返回第一个参数的值 |
| NVL2 | 如果第一个参数为NULL,则返回第三个参数的值;否则返回第四个参数的值 |
| COALESCE | 返回参数列表中第一个非NULL值 |
| NULLIF | 如果两个参数相等,则返回NULL;否则返回第一个参数 |
| SUBSTR | 从字符串中提取子字符串 |
| INSTR | 查找子字符串在字符串中的位置 |
| REPLACE | 替换字符串中的子字符串 |
| LENGTH | 返回字符串的长度 |
| UCASE | 将字符串转换为大写字母 |
| LCASE | 将字符串转换为小写字母 |
| REVERSE | 反转字符串 |
| TRIM | 去除字符串两端的空格 |
| 函数名称 | 功能描述 |
| SUM | 计算一组数值的总和 |
| AVG | 计算一组数值的平均值 |
| MIN | 返回一组数值中的最小值 |
| MAX | 返回一组数值中的最大值 |
| COUNT | 计算一组非空值的数量 |
| NLSSORT | 根据语言环境对字符串进行排序和比较 |
| 函数名称 | 功能描述 |
| LAG | 返回当前行的前一行的值 |
| LAST_VALUE | 返回窗口中最后一个非空值 |
| FIRST_VALUE | 返回窗口中第一个非空值 |
| PERCENT_RANK | 根据分组数据计算百分比排名 |
| RANK | 根据分组数据计算行号 |
| DENSE_RANK | 根据分组数据计算紧密排名,不跳过任何排名 |
| NTILE | 根据分组数据将行分配到指定数量的桶中 |
| TOTAL | 计算窗口中的总和 |
| CARDINALITY | 计算窗口中的唯一值的数量 |
| 函数名称 | 功能描述 |
| SQRT | 计算一个数的平方根 |
| TRUNC | 截断一个小数为整数 |
| FLOOR | 向下取整 |
| CEILD | 向上取整 |
| PI | 返回圆周率π |
| DEGREES | 将弧度转换为度 |
| RAND | 生成0到1之间的随机数 |
| DBMS_RANDOM.VALUE | 生成0到1之间的伪随机数,可用于生成密钥等场景 |
| 函数名称 | 功能描述 |
| ASCII | 返回字符的ASCII码值 |
| CHR | 根据ASCII码值返回对应的字符 |
| INSTR | 查找子字符串在字符串中的位置 |
| REPLACE | 替换字符串中的子字符串 |
| REVERSE | 反转字符串 |
| LIKE | 根据模式匹配字符串 |
| ESCAPE | 根据指定的转义字符对字符串进行转义 |
| SOUNDEX | 根据发音规则将字符转换为表示其发音的代码 |
| BINARY_INTEGER_LENGTH | 返回二进制字符串的长度 |
| BINARY_CHECKSUM | 计算二进制字符串的校验和 |
| 函数名称 | 功能描述 |
| NOW | 返回当前的系统日期和时间 |
| TO_DATE | 根据给定的字符串或格式模型将日期转换为日期类型 |
| TO_CHAR | 根据给定的格式模型将日期类型转换为字符类型 |
| TRUNC | 根据给定的模式截断日期类型到指定的单位 |
| NEXT_DAY | 根据给定的模式找到下一个特定单位的日期 |
| LAST_DAY | 根据给定的模式找到上一个特定单位的日期 |
| MONTHS_BETWEEN | 计算两个日期之间的月份差 |
| YEARS_BETWEEN | 计算两个日期之间的年份差 |
| LAST_DAY(+) | 根据给定的模式找到上一个特定单位的日期,包括边界值 >