Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的内置函数来帮助用户处理数据。这篇笔记主要涵盖了Oracle中的系统函数,包括数学运算、字符串处理和转换函数等。以下是对这些函数的详细解释:
1. **绝对值函数ABS()**:计算一个数的绝对值,例如`ABS(-100)`返回`100`。
2. **符号函数SIGN()**:返回数字的符号,`1`表示正数,`-1`表示负数,`0`表示零,例如`SIGN(100)`返回`1`,`SIGN(-100)`返回`-1`,`SIGN(0)`返回`0`。
3. **向上取整函数CEIL()**:返回大于或等于指定数值的最小整数,例如`CEIL(3.15)`返回`4`,`CEIL(-3.95)`返回`-3`,`CEIL(1)`返回`1`。
4. **向下取整函数FLOOR()**:返回小于或等于指定数值的最大整数,如`FLOOR(3.15)`返回`3`,`FLOOR(-3.95)`返回`-4`,`FLOOR(1)`返回`1`。
5. **幂函数POWER()**:计算一个数的幂,例如`POWER(5,2)`返回`25`,`POWER(5,3)`返回`125`。
6. **指数函数EXP()**:计算e(自然对数的底数)的幂,例如`EXP(3)`返回约`20.0855369`。
7. **对数函数LOG()**:返回以特定基数的对数,`LOG(2,16)`返回`4`,因为2的4次方等于16。
8. **自然对数函数LN()**:返回以e为基数的对数,`LN(20.0855369)`返回约`2.99999999884555`。
9. **模运算函数MOD()**:返回除法的余数,如`MOD(23,8)`返回`7`,`MOD(13,5)`返回`3`。
10. **四舍五入函数ROUND()**:根据指定的小数位数进行四舍五入,`ROUND(5555.6666)`返回`5556`,`ROUND(5555.6666, 2.1)`返回`5555.67`,`ROUND(5555.6666, -2.6)`返回`5600`。
11. **截断函数TRUNC()**:按指定的小数位数进行截断,不进行四舍五入,`TRUNC(5555.999)`返回`5555`,`TRUNC(5555.66666, 2.1)`返回`5555.66`,`TRUNC(5555.66666, -2.6)`返回`5500`。
12. **平方根函数SQRT()**:计算一个数的平方根,例如`SQRT(64)`返回`8`。
13. **三角函数SIN()和COS()**:分别返回角度对应的正弦值和余弦值。
接下来是一些字符串处理函数:
1. **ASCII()**:返回字符的ASCII码,`ASCII('A')`返回`65`,`ASCII('a')`返回`97`。
2. **CHR()**:根据ASCII码返回对应的字符,`CHR(54740)`返回特定字符,`CHR(68)`返回`'D'`。
3. ** CONCAT()** 或 `||` 运算符:连接两个或多个字符串,`CONCAT('010-', '88888888')`等同于`'010-' || '88888888'`,结果为`'010-88888888'`。
4. **INITCAP()**:将字符串中的每个单词首字母大写,其余字母小写,`INITCAP('smithabcaBC')`返回`'SmithAbcAbc'`。
5. **UPPER()**:将字符串全部转换为大写,`UPPER('AaBbCcDd')`返回`'AABBCCDD'`。
6. **LOWER()**:将字符串全部转换为小写,`LOWER('AaBbCcDd')`返回`'aabbccdd'`。
这些函数在处理Oracle数据库中的数据时非常有用,无论是进行数值计算还是字符串操作,它们都能帮助我们高效地完成任务。通过熟练掌握这些函数,可以极大地提高SQL查询的灵活性和效率。