### Oracle函数速查知识点
#### 1. ASCII
ASCII函数用于返回给定字符的ASCII码值。
- **语法**: `ASCII(char)`
- **示例**:
```sql
SQL> SELECT ASCII('A') A, ASCII('a') a, ASCII('0') zero, ASCII(' ') space FROM dual;
```
输出结果将显示各字符对应的ASCII码。
#### 2. CHR
CHR函数根据提供的ASCII码值返回对应的字符。
- **语法**: `CHR(ascii_code)`
- **示例**:
```sql
SQL> SELECT CHR(54740) zhao, CHR(65) chr65 FROM dual;
```
#### 3. CONCAT
CONCAT函数用于连接两个字符串。
- **语法**: `CONCAT(string1, string2)`
- **示例**:
```sql
SQL> SELECT CONCAT('010-', '88888888') || '转23' AS 电话号码 FROM dual;
```
#### 4. INITCAP
INITCAP函数将字符串的第一个字母转换为大写,其余字母转换为小写。
- **语法**: `INITCAP(string)`
- **示例**:
```sql
SQL> SELECT INITCAP('smith') AS UPP FROM dual;
```
#### 5. INSTR
INSTR函数用于查找一个字符串在另一个字符串中的位置。
- **语法**: `INSTR(string, search_string, [start_position], [occurrence])`
- **示例**:
```sql
SQL> SELECT INSTR('oracletraining', 'ra', 1, 2) AS instring FROM dual;
```
#### 6. LENGTH
LENGTH函数返回字符串的长度。
- **语法**: `LENGTH(string)`
- **示例**:
```sql
SQL> SELECT name, LENGTH(name), addr, LENGTH(addr), sal, LENGTH(TO_CHAR(sal)) FROM gao.nchar_tst;
```
#### 7. LOWER
LOWER函数将字符串中的所有字母转换为小写。
- **语法**: `LOWER(string)`
- **示例**:
```sql
SQL> SELECT LOWER('AaBbCcDd') AS AABBCCDD FROM dual;
```
#### 8. UPPER
UPPER函数将字符串中的所有字母转换为大写。
- **语法**: `UPPER(string)`
- **示例**:
```sql
SQL> SELECT UPPER('AaBbCcDd') AS UPPER FROM dual;
```
#### 9. RPAD/LPAD
RPAD和LPAD函数分别用于右填充和左填充字符串。
- **语法**: `RPAD(string, length, pad_string)` 和 `LPAD(string, length, pad_string)`
- **示例**:
```sql
SQL> SELECT LPAD(RPAD('gao', 10, '*'), 17, '*') FROM dual;
```
#### 10. LTRIM/RTRIM
LTRIM和RTRIM函数分别用于去除字符串左边和右边的指定字符。
- **语法**: `LTRIM(string, trim_characters)` 和 `RTRIM(string, trim_characters)`
- **示例**:
```sql
SQL> SELECT LTRIM(RTRIM('gaoqianjing', ''), '') FROM dual;
```
#### 11. SUBSTR
SUBSTR函数用于提取字符串的一部分。
- **语法**: `SUBSTR(string, start, count)`
- **示例**:
```sql
SQL> SELECT SUBSTR('13088888888', 3, 8) FROM dual;
```
#### 12. REPLACE
REPLACE函数用于替换字符串中的某个子串。
- **语法**: `REPLACE(string, old_string, new_string)`
- **示例**:
```sql
SQL> SELECT REPLACE('helloveyou', 'he', 'i') FROM dual;
```
#### 13. SOUNDEX
SOUNDEX函数用于计算一个字符串的音译码。
- **语法**: `SOUNDEX(string)`
- **示例**:
创建表`table1`并插入数据:
```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');
```
查询与`weather`音译码相同的数据:
```sql
SQL> SELECT xm FROM table1 WHERE SOUNDEX(xm) = SOUNDEX('weather');
```
#### 14. TRIM
TRIM函数用于移除字符串两端的指定字符。
- **语法**: `TRIM([LEADING|TRAILING] trim_characters FROM string)`
- **示例**:
```sql
SQL> SELECT TRIM(LEADING ' ' FROM ' hello ') AS trimmed FROM dual;
```
#### 15. ABS
ABS函数返回数值的绝对值。
- **语法**: `ABS(number)`
- **示例**:
```sql
SQL> SELECT ABS(100), ABS(-100) FROM dual;
```
#### 16. ACOS
ACOS函数返回一个数值的反余弦值(弧度)。
- **语法**: `ACOS(number)`
- **示例**:
```sql
SQL> SELECT ACOS(-1) FROM dual;
```
#### 17. ASIN
ASIN函数返回一个数值的反正弦值(弧度)。
- **语法**: `ASIN(number)`
- **示例**:
```sql
SQL> SELECT ASIN(0.5) FROM dual;
```
#### 18. ATAN
ATAN函数返回一个数值的反正切值(弧度)。
- **语法**: `ATAN(number)`
- **示例**:
```sql
SQL> SELECT ATAN(1) FROM dual;
```
以上是Oracle中常用的一些函数及其用法。这些函数能够帮助我们更灵活地处理数据库中的数据,提高查询效率和准确性。对于实际应用而言,理解每个函数的功能和正确使用它们至关重要。