Oracle SQL 内置函数大全
### Oracle SQL 内置函数详解 #### 一、ASCII函数:获取字符的ASCII码值 - **功能**:`ASCII` 函数用于返回一个字符的十进制 ASCII 值。 - **语法**:`ASCII(char)` 示例: ```sql SELECT ASCII('A') AS "A", ASCII('a') AS "a", ASCII('0') AS "zero", ASCII(' ') AS "space" FROM DUAL; ``` 结果展示: | A | a | zero | space | |---|---|------|-------| | 65| 97| 48 | 32 | #### 二、CHR函数:根据ASCII码值获取字符 - **功能**:`CHR` 函数根据输入的整数值返回相应的字符。 - **语法**:`CHR(number)` 示例: ```sql SELECT CHR(54740) AS "zhao", CHR(65) AS "chr65" FROM DUAL; ``` 结果展示: | zhao | chr65 | |------|-------| | 赵 | A | #### 三、CONCAT函数:字符串连接 - **功能**:`CONCAT` 函数用来将两个字符串连接起来。 - **语法**:`CONCAT(str1, str2)` 示例: ```sql SELECT CONCAT('010-', '88888888') || '转23' AS "高乾竞电话" FROM DUAL; ``` 结果展示: | 高乾竞电话 | |--------------------| | 010-88888888转23 | #### 四、INITCAP函数:首字母大写 - **功能**:`INITCAP` 函数返回一个新的字符串,其中每个单词的第一个字母都转换为大写。 - **语法**:`INITCAP(str)` 示例: ```sql SELECT INITCAP('smith') AS "upp" FROM DUAL; ``` 结果展示: | upp | |------| | Smith| #### 五、INSTR函数:查找字符串位置 - **功能**:`INSTR` 函数用于在字符串中查找另一个字符串的位置。 - **语法**:`INSTR(str1, str2, [start_pos], [occurrence])` 示例: ```sql SELECT INSTR('oracletraining', 'ra', 1, 2) AS "instring" FROM DUAL; ``` 结果展示: | instring | |----------| | 9 | #### 六、LENGTH函数:计算字符串长度 - **功能**:`LENGTH` 函数返回字符串的长度。 - **语法**:`LENGTH(str)` 示例: ```sql SELECT NAME, LENGTH(NAME), ADDR, LENGTH(ADDR), SAL, LENGTH(TO_CHAR(SAL)) FROM NCHAR_TST; ``` 结果展示: | NAME | LENGTH(NAME) | ADDR | LENGTH(ADDR) | SAL | LENGTH(TO_CHAR(SAL)) | |--------|--------------|-----------------|--------------|---------|----------------------| | 高乾竞 | 3 | 北京市海淀区 | 6 | 9999.99 | 7 | #### 七、LOWER函数:转换为小写字母 - **功能**:`LOWER` 函数将所有字符转换为小写。 - **语法**:`LOWER(str)` 示例: ```sql SELECT LOWER('AaBbCcDd') AS "AaBbCcDd" FROM DUAL; ``` 结果展示: | AaBbCcDd | |----------| | aabbccdd | #### 八、UPPER函数:转换为大写字母 - **功能**:`UPPER` 函数将所有字符转换为大写。 - **语法**:`UPPER(str)` 示例: ```sql SELECT UPPER('AaBbCcDd') AS "upper" FROM DUAL; ``` 结果展示: | upper | |-------| | AABBCCDD | #### 九、RPAD/LPAD函数:右/左填充 - **功能**:`RPAD` 和 `LPAD` 分别用于在字符串的右侧和左侧进行填充。 - **语法**: - `RPAD(str, length, pad)` - `LPAD(str, length, pad)` 示例: ```sql SELECT LPAD(RPAD('gao', 10, '*'), 17, '*') FROM DUAL; ``` 结果展示: | LPAD(RPAD('GAO',10,'*')) | |--------------------------| | *******gao******* | #### 十、LTRIM/RTRIM函数:去除左右空白或指定字符 - **功能**:`LTRIM` 和 `RTRIM` 用于移除字符串开头或结尾的空白或指定字符。 - **语法**: - `LTRIM(str, trim_str)` - `RTRIM(str, trim_str)` 示例: ```sql SELECT LTRIM(RTRIM('gaoqianjing', 'j'), '') FROM DUAL; ``` 结果展示: | LTRIM(RTRIM('gaoqianjing','j'), '') | |------------------------------------| | gaoqianjing | #### 十一、SUBSTR函数:截取子串 - **功能**:`SUBSTR` 函数用于从指定位置开始截取指定长度的子串。 - **语法**:`SUBSTR(str, start_pos, length)` 示例: ```sql SELECT SUBSTR('13088888888', 3, 8) FROM DUAL; ``` 结果展示: | SUBSTR('13088888888', 3, 8) | |------------------------------| | 08888888 | #### 十二、REPLACE函数:替换字符串 - **功能**:`REPLACE` 函数用于在字符串中替换指定的子串。 - **语法**:`REPLACE(str, old_str, new_str)` 示例: ```sql SELECT REPLACE('hello you', 'he', 'i') FROM DUAL; ``` 结果展示: | REPLACE('hello you','he','i') | |-------------------------------| | illo you | #### 十三、SOUNDEX函数:发音相似度比较 - **功能**:`SOUNDEX` 函数返回一个代表给定字符串发音的代码。 - **语法**:`SOUNDEX(str)` 示例: 创建表并插入数据: ```sql CREATE TABLE TABLE1 (XM VARCHAR(8)); INSERT INTO TABLE1 VALUES ('weather'); INSERT INTO TABLE1 VALUES ('wether'); INSERT INTO TABLE1 VALUES ('gao'); ``` 查询发音相似的数据: ```sql SELECT XM FROM TABLE1 WHERE SOUNDEX(XM) = SOUNDEX('weather'); ``` 结果展示: | XM | |---------| | weather | | wether | #### 十四、TRIM函数:去除空白或指定字符 - **功能**:`TRIM` 函数用于移除字符串开头或结尾的空白或指定字符。 - **语法**: - `TRIM([LEADING | TRAILING] [trim_char FROM str])` 示例: ```sql SELECT TRIM(LEADING 'a' FROM 'aaaabc'), TRIM(TRAILING 'c' FROM 'abc') FROM DUAL; ``` 结果展示: | TRIM(LEADING 'a' FROM 'aaaabc') | TRIM(TRAILING 'c' FROM 'abc') | |--------------------------------|--------------------------------| | abc | ab | #### 十五、ABS函数:获取绝对值 - **功能**:`ABS` 函数返回给定数字的绝对值。 - **语法**:`ABS(number)` 示例: ```sql SELECT ABS(100), ABS(-100) FROM DUAL; ``` 结果展示: | ABS(100) | ABS(-100) | |----------|-----------| | 100 | 100 | 以上就是 Oracle SQL 中常用的内置函数的一些示例及其使用方法,这些函数可以帮助我们在处理数据时更加高效和灵活。
剩余22页未读,继续阅读
- 粉丝: 2
- 资源: 50
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的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
评论0