资料共享, SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual; A A ZERO SPACE --------- --------- --------- --------- 65 97 48 32 2.CHR 给出整数,返回对应的字符; SQL> select chr(54740) zhao,chr(65) chr65 from dual; ZH C -- - 赵 A 3.CONCAT 连接两个字符串; SQL> select concat(010-,88888888)||转23 高乾竞电话 from dual; 高乾竞电话 ---------------- 010-88888888转23 4.INITCAP 返回字符串并将字符串的第一个字母变为大写; SQL> select initcap(smith) upp from dual; UPP ----- ### Oracle函数详解 #### 1. ASCII 函数 ASCII函数用于返回指定字符的十进制数值。这在处理字符编码转换时非常有用。 **语法**: ```sql ASCII(char_expr) ``` **示例**: ```sql SELECT ASCII('A') AS "ASCII of A", ASCII('a') AS "ASCII of a", ASCII('0') AS "ASCII of 0", ASCII(' ') AS "ASCII of Space" FROM DUAL; ``` 输出结果展示了如何获取不同字符的ASCII码值,例如: - `'A'` 的ASCII值为 `65` - `'a'` 的ASCII值为 `97` - `'0'` 的ASCII值为 `48` - `' '`(空格)的ASCII值为 `32` #### 2. CHR 函数 CHR函数用于根据给定的整数返回相应的字符。这通常用于将数字形式的ASCII码转换回其对应的字符。 **语法**: ```sql CHR(integer_expr) ``` **示例**: ```sql SELECT CHR(54740) AS "CHR of 54740", CHR(65) AS "CHR of 65" FROM DUAL; ``` 此函数可以用来实现字符与ASCII码之间的相互转换,如: - 数字 `54740` 对应的字符为 `'赵'` - 数字 `65` 对应的字符为 `'A'` #### 3. CONCAT 函数 CONCAT函数用于将两个字符串连接在一起。这对于拼接不同的文本字段非常有用。 **语法**: ```sql CONCAT(string_expr1, string_expr2) ``` **示例**: ```sql SELECT CONCAT('010-', '88888888') || '转23 高乾竞电话' AS "Concatenated Phone Number" FROM DUAL; ``` 输出结果展示了如何通过CONCAT函数连接字符串,例如: - 将 `'010-'` 和 `'88888888'` 连接后,再加上 `'转23 高乾竞电话'` 得到完整的电话号码字符串。 #### 4. INITCAP 函数 INITCAP函数用于返回一个字符串,并将该字符串的首字母转换为大写。这是格式化文本数据时的一个常用操作。 **语法**: ```sql INITCAP(string_expr) ``` **示例**: ```sql SELECT INITCAP('smith') AS "Initial Capital" FROM DUAL; ``` 输出结果展示了如何使用INITCAP函数来将字符串首字母大写,例如: - 字符串 `'smith'` 经过INITCAP函数处理后变成 `'Smith'` #### 5. INSTR 函数 INSTR函数用于在一个字符串中查找另一个字符串的位置,并返回找到的起始位置。 **语法**: ```sql INSTR(source_string, search_string[, start_position[, occurrence]]) ``` **示例**: ```sql SELECT INSTR('oracletraining', 'ra', 1, 2) AS "Substring Position" FROM DUAL; ``` 输出结果展示了如何定位特定子字符串的位置,例如: - 在 `'oracletraining'` 中查找 `'ra'` 的第二次出现,结果是第 `9` 个位置。 #### 6. LENGTH 函数 LENGTH函数用于返回字符串的长度,即字符串中的字符数。 **语法**: ```sql LENGTH(string_expr) ``` **示例**: ```sql SELECT NAME, LENGTH(NAME), ADDR, LENGTH(ADDR), SAL, LENGTH(TO_CHAR(SAL)) FROM gao.nchar_tst; ``` 输出结果展示了如何计算不同字段的长度,例如: - 名称 `'高乾竞'` 的长度为 `3` - 地址 `'北京市海淀区'` 的长度为 `6` - 薪资 `99999.99` 转换为字符后的长度为 `7` #### 7. LOWER 函数 LOWER函数用于返回一个字符串,其中所有字符都被转换为小写。 **语法**: ```sql LOWER(string_expr) ``` **示例**: ```sql SELECT LOWER('AaBbCcDd') AS "Lowercase String" FROM DUAL; ``` 输出结果展示了如何将字符串转换为全小写形式,例如: - 字符串 `'AaBbCcDd'` 经过LOWER函数处理后变成 `'aabbccd'` #### 8. UPPER 函数 UPPER函数用于返回一个字符串,其中所有字符都被转换为大写。 **语法**: ```sql UPPER(string_expr) ``` **示例**: ```sql SELECT UPPER('AaBbCcDd') AS "Uppercase String" FROM DUAL; ``` 输出结果展示了如何将字符串转换为全大写形式,例如: - 字符串 `'AaBbCcDd'` 经过UPPER函数处理后变成 `'AABBCCDD'` #### 9. RPAD 和 LPAD 函数 RPAD和LPAD函数分别用于在字符串的右侧和左侧填充指定的字符,以便达到一定的宽度。 **语法**: ```sql RPAD(string_expr, total_length, pad_character) LPAD(string_expr, total_length, pad_character) ``` **示例**: ```sql SELECT LPAD(RPAD('gao', 10, '*'), 17, '*') AS "Padded String" FROM DUAL; ``` 输出结果展示了如何在字符串 `'gao'` 的左右两侧填充星号字符以达到总长度为17的效果,例如: - 结果字符串为 `'*******gao*******'` #### 10. LTRIM 和 RTRIM 函数 LTRIM和RTRIM函数分别用于删除字符串左侧和右侧的指定字符,默认情况下会删除空白字符。 **语法**: ```sql LTRIM(string_expr [, trim_character]) RTRIM(string_expr [, trim_character]) ``` **示例**: ```sql SELECT LTRIM(RTRIM('gaoqianjing , '), ', ') AS "Trimmed String" FROM DUAL; ``` 输出结果展示了如何去除字符串 `'gaoqianjing , '` 左右两侧的逗号和空格,例如: - 结果字符串为 `'gaoqianjing'` #### 11. SUBSTR 函数 SUBSTR函数用于从指定位置开始截取一定长度的子字符串。 **语法**: ```sql SUBSTR(string_expr, start_position, length) ``` **示例**: ```sql SELECT SUBSTR('13088888888', 3, 8) AS "Substring" FROM DUAL; ``` 输出结果展示了如何从 `'13088888888'` 中截取从第3位开始的8位子字符串,例如: - 结果字符串为 `'08888888'` #### 12. REPLACE 函数 REPLACE函数用于在字符串中替换指定的字符或子字符串。 **语法**: ```sql REPLACE(string_expr, find_string, replace_string) ``` **示例**: ```sql SELECT REPLACE('heloveyou', 'he', 'i') AS "Replaced String" FROM DUAL; ``` 输出结果展示了如何在字符串 `'heloveyou'` 中将 `'he'` 替换为 `'i'`,例如: - 结果字符串为 `'iloveyou'` #### 13. SOUNDEX 函数 SOUNDEX函数用于返回一个与给定字符串发音相似的新字符串,主要用于比较发音相似但拼写不同的字符串。 **语法**: ```sql SOUNDEX(string_expr) ``` **示例**: ```sql CREATE TABLE table1 (xm VARCHAR(8)); INSERT INTO table1 VALUES ('weather'); INSERT INTO table1 VALUES ('wether'); INSERT INTO table1 VALUES ('gao'); SELECT xm FROM table1 WHERE SOUNDEX(xm) = SOUNDEX('weather'); ``` 输出结果展示了如何使用SOUNDEX函数比较发音相似的字符串,例如: - 字符串 `'weather'` 和 `'wether'` 由于发音相似,它们的SOUNDEX值相同。 #### 14. TRIM 函数 TRIM函数用于删除字符串开头和/或结尾的指定字符,默认情况下删除空格。 **语法**: ```sql TRIM([LEADING | TRAILING] trim_character FROM string_expr) ``` **示例**: ```sql SELECT TRIM(LEADING ' ' FROM ' gaoqianjing ') AS "Trimmed Leading Spaces", TRIM(TRAILING ' ' FROM ' gaoqianjing ') AS "Trimmed Trailing Spaces", TRIM(BOTH ' ' FROM ' gaoqianjing ') AS "Trimmed Both Sides" FROM DUAL; ``` 输出结果展示了如何去除字符串 `' gaoqianjing '` 前后两端的空格,例如: - 去除前导空格的结果为 `'gaoqianjing '` - 去除尾随空格的结果为 `' gaoqianjing'` - 同时去除前后空格的结果为 `'gaoqianjing'` #### 15. ABS 函数 ABS函数用于返回给定数值的绝对值。 **语法**: ```sql ABS(number_expr) ``` **示例**: ```sql SELECT ABS(100) AS "Absolute Value of 100", ABS(-100) AS "Absolute Value of -100" FROM DUAL; ``` 输出结果展示了如何获取数值的绝对值,例如: - 数值 `100` 的绝对值为 `100` - 数值 `-100` 的绝对值也为 `100` 以上是Oracle数据库中常用的字符串和数值处理函数的详细介绍,这些函数可以帮助开发者高效地处理各种数据类型的问题。
剩余17页未读,继续阅读
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助