### Oracle函数大全详解 在Oracle数据库中,函数是执行特定任务的预定义操作,它们能够帮助用户处理数据、计算数值以及格式化输出等。本文将详细介绍Oracle中的常见函数及其用法,包括数字处理函数、日期处理函数、字符处理函数等。 #### 数学函数 ##### 1. ROUND(m,[n]) 该函数用于对数值`m`进行四舍五入处理。如果指定了第二个参数`n`,则结果将被保留到小数点后`n`位。如果`n`为负数,则结果将被保留到小数点前`n`位。 - **示例**: `ROUND(123.456, 2)` 返回 `123.46` - **示例**: `ROUND(123.456, -1)` 返回 `120` ##### 2. TRUNC(m,[n]) 此函数用于对数值`m`进行截断处理,即去除小数部分或指定位置之后的数字。如果指定了第二个参数`n`,则结果将被保留到小数点后`n`位。如果`n`为负数,则结果将被保留到小数点前`n`位。 - **示例**: `TRUNC(123.456, 2)` 返回 `123.45` - **示例**: `TRUNC(123.456, -1)` 返回 `120` ##### 3. MOD(m,n) 返回两个数值`m`与`n`相除后的余数。 - **示例**: `MOD(10, 3)` 返回 `1` ##### 4. ABS(n) 返回数值`n`的绝对值。 - **示例**: `ABS(-10)` 返回 `10` ##### 5. ACOS(n) 返回角度的反余弦值(以弧度表示),输入范围为`-1`到`1`。 - **示例**: `ACOS(0)` 返回 `1.570796327` (约等于 π/2) ##### 6. ASIN(n) 返回角度的反正弦值(以弧度表示),输入范围为`-1`到`1`。 - **示例**: `ASIN(0.5)` 返回 `0.5235987756` (约等于 π/6) ##### 7. ATAN(n) 返回角度的反正切值(以弧度表示)。 - **示例**: `ATAN(1)` 返回 `0.7853981634` (约等于 π/4) ##### 8. ATAN2(m,n) 返回角度的反正切值(以弧度表示),考虑了象限。 - **示例**: `ATAN2(1, 1)` 返回 `0.7853981634` (约等于 π/4) ##### 9. BITAND(expr1,expr2) 返回两个表达式`expr1`和`expr2`的按位与操作结果。 - **示例**: `BITAND(5, 3)` 返回 `1` ##### 10. CEIL(n) 返回大于或等于数值`n`的最小整数。 - **示例**: `CEIL(10.1)` 返回 `11` ##### 11. COS(n) 返回角度的余弦值(以弧度表示)。 - **示例**: `COS(0)` 返回 `1` ##### 12. COSH(n) 返回角度的双曲余弦值(以弧度表示)。 - **示例**: `COSH(0)` 返回 `1` ##### 13. EXP(n) 返回自然底数`e`的`n`次幂。 - **示例**: `EXP(1)` 返回 `2.718281828` ##### 14. FLOOR(n) 返回小于或等于数值`n`的最大整数。 - **示例**: `FLOOR(10.9)` 返回 `10` ##### 15. LN(n) 返回以`e`为底数的对数。 - **示例**: `LN(2.718281828)` 返回 `1` ##### 16. LOG(m,n) 返回以`m`为底数的`n`的对数。 - **示例**: `LOG(10, 1000)` 返回 `3` ##### 17. POWER(m,n) 返回`m`的`n`次幂。 - **示例**: `POWER(2, 3)` 返回 `8` ##### 18. REMAINDER(m,n) 返回两个数值`m`与`n`相除后的余数,类似于`MOD`函数。 - **示例**: `REMAINDER(10, 3)` 返回 `1` ##### 19. SIGN(n) 返回数值`n`的符号:`-1`(当`n`小于0)、`0`(当`n`等于0)、`1`(当`n`大于0)。 - **示例**: `SIGN(-10)` 返回 `-1` ##### 20. SIN(n) 返回角度的正弦值(以弧度表示)。 - **示例**: `SIN(0)` 返回 `0` ##### 21. SINH(n) 返回角度的双曲正弦值(以弧度表示)。 - **示例**: `SINH(0)` 返回 `0` ##### 22. SQRT(n) 返回数值`n`的平方根。 - **示例**: `SQRT(16)` 返回 `4` ##### 23. TAN(n) 返回角度的正切值(以弧度表示)。 - **示例**: `TAN(0)` 返回 `0` ##### 24. TANH(n) 返回角度的双曲正切值(以弧度表示)。 - **示例**: `TANH(0)` 返回 `0` ##### 25. WIDTH_BUCKET(expr,min_value,max_value,num_buckets) 返回数值`expr`落在由`min_value`到`max_value`区间内等分的`num_buckets`个桶中的序号。 - **示例**: `WIDTH_BUCKET(10, 1, 20, 4)` 返回 `3` #### 字符串函数 ##### 1. ASCII(char) 返回字符`char`的ASCII码值。 - **示例**: `ASCII('A')` 返回 `65` ##### 2. CHR(n) 返回ASCII码值为`n`的字符。 - **示例**: `CHR(65)` 返回 `'A'` ##### 3. CONCAT(str1,str2) 连接两个字符串`str1`和`str2`。 - **示例**: `CONCAT('Hello', 'World')` 返回 `'HelloWorld'` ##### 4. INITCAP(str) 将字符串`str`中的每个单词首字母大写,其余字母小写。 - **示例**: `INITCAP('hello world')` 返回 `'Hello World'` ##### 5. LENGTH(str) 返回字符串`str`的长度。 - **示例**: `LENGTH('Hello')` 返回 `5` ##### 6. LOWER(str) 将字符串`str`转换为全小写形式。 - **示例**: `LOWER('HELLO')` 返回 `'hello'` ##### 7. LPAD(str1,n,str2) 将字符串`str1`左填充到长度为`n`,填充字符为`str2`。 - **示例**: `LPAD('A', 4, '-')` 返回 `'---A'` ##### 8. INSTR(str1,str2[,m[,n]]) 返回字符串`str2`在字符串`str1`中的起始位置,`m`表示从第`m`个字符开始查找,`n`表示查找第`n`次出现的位置。 - **示例**: `INSTR('Hello World', 'o', 1, 1)` 返回 `5` ##### 9. LTRIM(str1[,set]) 删除字符串`str1`左侧的指定字符集`set`。 - **示例**: `LTRIM('---Hello---', '-')` 返回 `'Hello---'` ##### 10. NLS_INITCAP(str,'nls_param') 根据`nls_param`参数设置,将字符串`str`中的每个单词首字母大写。 - **示例**: `NLS_INITCAP('hello world', 'nls_sort=AMERICAN')` 返回 `'Hello World'` ##### 11. NLS_LOWER(str,'nls_param') 根据`nls_param`参数设置,将字符串`str`转换为全小写形式。 - **示例**: `NLS_LOWER('HELLO WORLD', 'nls_sort=AMERICAN')` 返回 `'hello world'` ##### 12. NLSSORT(str,'nls_param') 根据`nls_param`参数设置,对字符串`str`进行排序。 - **示例**: `NLSSORT('hello world', 'nls_sort=AMERICAN')` 返回排序后的结果 ##### 13. NLS_UPPER(str,'nls_param') 根据`nls_param`参数设置,将字符串`str`转换为全大写形式。 - **示例**: `NLS_UPPER('hello world', 'nls_sort=AMERICAN')` 返回 `'HELLO WORLD'` ##### 14. REPLACE(str,search_str[,replacement_str]) 将字符串`str`中的所有`search_str`替换为`replacement_str`。 - **示例**: `REPLACE('Hello World', 'World', 'Universe')` 返回 `'Hello Universe'` ##### 15. RPAD(str1,n,str2) 将字符串`str1`右填充到长度为`n`,填充字符为`str2`。 - **示例**: `RPAD('A', 4, '-')` 返回 `'A---'` ##### 16. RTRIM(str1[,set]) 删除字符串`str1`右侧的指定字符集`set`。 - **示例**: `RTRIM('---Hello---', '-')` 返回 `'---Hello'` ##### 17. SOUNDEX(str) 返回字符串`str`的Soundex编码,用于比较相似发音的字符串。 - **示例**: `SOUNDEX('Smith')` 返回 `'S530'` ##### 18. SUBSTR(str,m[,n]) 返回字符串`str`中从位置`m`开始的`n`个字符。 - **示例**: `SUBSTR('Hello World', 2, 3)` 返回 `'ell'` ##### 19. TRANSLATE(expr,from_str,to_str) 将字符串`expr`中的所有`from_str`替换为相应的`to_str`字符。 - **示例**: `TRANSLATE('Hello World', 'lo', 'xy')` 返回 `'Hexxy Wyrd'` ##### 20. TREAT(exprAStype) 将表达式`expr`转换为类型`type`。 - **示例**: `TREAT('123' AS NUMBER)` 返回 `123` (作为数值类型) ##### 21. TRIM({trim_str} 删除字符串两端的指定字符。 - **示例**: `TRIM(' ' FROM ' Hello World ')` 返回 `'Hello World'` 通过这些函数,Oracle用户可以轻松地处理各种数据需求,并确保数据的一致性和准确性。以上就是Oracle函数大全的主要内容,希望能帮助初学者更好地理解和掌握Oracle数据库中的函数使用方法。
- 粉丝: 1
- 资源: 11
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助