### Oracle 110个常用函数 - 部分精选详解 #### 1. ASCII - **功能**:返回与指定的字符对应的十进制数。 - **语法**:ASCII(char) - **示例**: ```sql SQL> select ascii('A') A, ascii('a') a, ascii('0') zero, ascii(' ') space from dual; ``` - **解释**:此函数用于查询特定字符的ASCII码值。例如,大写字母“A”的ASCII码为65,小写字母“a”为97。 #### 2. CHR - **功能**:给出整数,返回对应的字符。 - **语法**:CHR(int) - **示例**: ```sql SQL> select chr(54740) zhao, chr(65) chr65 from dual; ``` - **解释**:通过输入ASCII码,可以得到相应的字符。例如,ASCII码54740对应汉字“赵”,而65则对应英文字母“A”。 #### 3. CONCAT - **功能**:连接两个字符串。 - **语法**:CONCAT(str1, str2) - **示例**: ```sql SQL> select concat('010-', '88888888')||' 转23 高乾竞电话' from dual; ``` - **解释**:此函数可以将多个字符串连接成一个新的字符串。如示例所示,可以组合电话号码和姓名等信息。 #### 4. INITCAP - **功能**:返回字符串,并将字符串的第一个字母变为大写。 - **语法**:INITCAP(str) - **示例**: ```sql SQL> select initcap('smith') upp from dual; ``` - **解释**:此函数会将输入字符串的第一个字母转换为大写,其余字母保持不变。例如,“smith”首字母变为大写后为“Smith”。 #### 5. INSTR - **功能**:在一个字符串中搜索指定的字符,返回发现指定的字符的位置。 - **语法**:INSTR(str1, str2[, start_pos][, occurrence]) - **示例**: ```sql SQL> select instr('oracletraining', 'ra', 1, 2) instring from dual; ``` - **解释**:此函数可以在一个较长的字符串中查找另一个字符串首次出现的位置。如上例,第二个“ra”出现在第9位。 #### 6. LENGTH - **功能**:返回字符串的长度。 - **语法**:LENGTH(str) - **示例**: ```sql SQL> select name, length(name), addr, length(addr), sal, length(to_char(sal)) from gao.nchar_tst; ``` - **解释**:LENGTH函数用于获取字符串的实际长度。例如,名字“高乾竞”有3个字符,地址“北京市海淀区”有6个字符。 #### 7. LOWER - **功能**:返回字符串,并将所有字符转换为小写。 - **语法**:LOWER(str) - **示例**: ```sql SQL> select lower('AaBbCcDd') aabbccdd from dual; ``` - **解释**:此函数会将输入的所有字母转换为小写形式,如“AaBbCcDd”转换为“aabbccdd”。 #### 8. UPPER - **功能**:返回字符串,并将所有字符转换为大写。 - **语法**:UPPER(str) - **示例**: ```sql SQL> select upper('AaBbCcDd') upper from dual; ``` - **解释**:与LOWER函数相反,UPPER函数会将所有字母转换为大写形式,例如将“AaBbCcDd”转换为“AABBCCDD”。 #### 9. RPAD 和 LPAD - **功能**:RPAD 在列的右边粘贴字符;LPAD 在列的左边粘贴字符。 - **语法**:RPAD(str, length, pad_char) 和 LPAD(str, length, pad_char) - **示例**: ```sql SQL> select lpad(rpad('gao', 10, '*'), 17, '*') from dual; ``` - **解释**:RPAD 和 LPAD 用于在字符串的右侧或左侧填充字符,以达到指定的长度。示例中,字符串“gao”先被右侧填充到10个字符长度,再左侧填充至17个字符。 #### 10. LTRIM 和 RTRIM - **功能**:LTRIM 删除字符串左边出现的字符;RTRIM 删除字符串右边出现的字符。 - **语法**:LTRIM(str, trim_char) 和 RTRIM(str, trim_char) - **示例**: ```sql SQL> select ltrim(rtrim('gaoqianjing , '), ', ') from dual; ``` - **解释**:LTRIM 和 RTRIM 可以用来去除字符串开头或结尾的特定字符。示例中,字符串“gaoqianjing , ”去除了末尾的逗号和空格。 #### 11. SUBSTR - **功能**:取子字符串,从start开始,取count个。 - **语法**:SUBSTR(str, start, count) - **示例**: ```sql SQL> select substr('13088888888', 3, 8) from dual; ``` - **解释**:SUBSTR函数可以从一个字符串中截取指定长度的子串。如示例所示,从“13088888888”中的第3位开始,取8个字符,结果为“08888888”。 #### 12. REPLACE - **功能**:替换字符串中的指定字符。 - **语法**:REPLACE(str, s1, s2) - **示例**: ```sql SQL> select replace('heloveyou', 'he', 'i') from dual; ``` - **解释**:REPLACE函数可以在字符串中找到并替换指定的字符或子串。例如,将“heloveyou”中的“he”替换为“i”,结果为“iloveyou”。 #### 13. SOUNDEX - **功能**:返回一个与给定的字符串读音相同的字符串。 - **语法**:SOUNDEX(str) - **示例**: ```sql SQL> create table table1 (xm varchar(8)); SQL> insert into table1 values ('weather'); SQL> insert into table1 values ('wether'); SQL> insert into table1 values ('gao'); SQL> select xm from table1 where soundex(xm) = soundex('weather'); ``` - **解释**:SOUNDEX函数用于根据发音相似性比较字符串。在示例中,字符串“weather”、“wether”和“gao”的发音相似度被计算,从而筛选出发音相同的记录。 #### 14. TRIM - **功能**:移除字符串前后指定的字符。 - **语法**:TRIM([LEADING | TRAILING] [trim_char] FROM str) - **示例**: ```sql SQL> select trim(leading 'x' from 'xxxhelloxxx') from dual; ``` - **解释**:TRIM函数可以移除字符串开头或结尾的指定字符。默认情况下,移除的是空格。在示例中,从字符串“xxxhelloxxx”中移除了开头的“x”。 #### 15. ABS - **功能**:返回指定值的绝对值。 - **语法**:ABS(num) - **示例**: ```sql SQL> select abs(100), abs(-100) from dual; ``` - **解释**:ABS函数返回输入数值的绝对值。例如,无论是100还是-100,其绝对值都是100。 #### 16. ACOS - **功能**:返回指定值的反余弦值(弧度)。 - **语法**:ACOS(num) - **示例**: ```sql SQL> select acos(0.5) from dual; ``` - **解释**:ACOS函数返回一个数值的反余弦值,即该角度的弧度值。例如,当输入0.5时,表示求角的余弦值为0.5时的角度,结果为π/3弧度。 以上列举了Oracle数据库中一些常用的字符串处理和数学运算函数。这些函数非常实用,在日常的数据处理和分析中有着广泛的应用。理解它们的用法有助于提高SQL查询的效率和准确性。
剩余40页未读,继续阅读
- 粉丝: 172
- 资源: 51
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于C语言的系统服务框架.zip
- (源码)基于Spring MVC和MyBatis的选课管理系统.zip
- (源码)基于ArcEngine的GIS数据处理系统.zip
- (源码)基于JavaFX和MySQL的医院挂号管理系统.zip
- (源码)基于IdentityServer4和Finbuckle.MultiTenant的多租户身份认证系统.zip
- (源码)基于Spring Boot和Vue3+ElementPlus的后台管理系统.zip
- (源码)基于C++和Qt框架的dearoot配置管理系统.zip
- (源码)基于 .NET 和 EasyHook 的虚拟文件系统.zip
- (源码)基于Python的金融文档智能分析系统.zip
- (源码)基于Java的医药管理系统.zip