admin 管理员组文章数量: 1086019
Oracle 中常用的字符串函数总结
一、substr 函数 —— 字符串截取
格式1:
substr(string,start_pos,length)
格式2:
substr(string,start_pos)
说明:
从指定位置start_pos截取字符串string的length位,如果不指定length(格式2)则从指定位置start_pos截取字符串string。
start_pos等于0或者1均从左边第一位开始截取。
如果start_pos为负整数,则从右截取字符串。
举例子:
SELECTsubstr('abcdef', 0, 3),substr('abcdef', 1, 3),substr('abcdef', 3),substr('abcdef', - 3)
FROMdual;
结果:
二、instr 函数 —— 查找字符串
格式1:
instr(string,sub_string,start_pos,times)
说明:
从字符串string的指定位置start_pos开始查询子串sub_string第times次出现的位置。
注意:start_pos,times为可选参数,默认值均为1
举例子:
SELECTinstr('abcfdgfdhd', 'fd')
FROMdual;
结果:
三、|| —— 字符串连接
SELECT'Hello' || ' world'
FROMdual;
结果:
四、去掉字符串首尾空格
ltrim 去字符串首部空格
rtrim 去字符串尾部空格
trim 去字符串首尾空格
举例子:
SELECTltrim(' a b c ') s1, rtrim(' a b c ') s2, trim( ' a b c ') s3
from dual;
结果:
五、去掉前导和后缀
与trim类似,去掉前导使用关键字leading,去掉后缀使用关键字trailing,都去除不实用关键字。
举例子:
SELECTTRIM(LEADING '1' FROM '111abc111'),TRIM(TRAILING '1' FROM '111abc111'),TRIM('1' FROM '111a111bc111')
FROMdual;
结果:
六、replace 函数 —— 字符串替换
格式1:
replace(string,sub_string1,sub_string2)
说明:
用字符串 sub_string2 替代string中的 sub_string1,如果不指定sub_string2则删除string中的sub_string1
举例子:
SELECTreplace('abc', 'b', 'xy'),replace('abc', 'b')
FROMdual;
结果:
七、translate 函数 —— 字符串转译
格式1:
translate(string,serial1,serial2)
说明:
用序列 serial2 中的字符一一替换 serial1 中的字符,如果不指定则删除。
注意:序列serial1和serial2左对齐一一对译
举例子:
SELECTtranslate('abcdafgdqwe', 'ad', '**')
FROMdual;
结果:
八、字符大小写切换
initcap 首字母大写
lower 转小写
upper 转大写
注意:只争对英文字母,对汉字无效
举例子:
SELECTlower('背景'),lower('abccd'),upper('def'),initcap('efg')
FROMdual;
结果:
九、字符串填充
用于控制输出格式
lpad 左添充
lpad(string,length,pad_char)
string为待优化输出格式字符串,length为输出字符串总长度,pad_char为填充字符串
如果length小于string的长度,自动截取string到length位
rpad 右填充
rpad(string,length,pad_char)
举例子:
SELECTlpad('funccccccccccccccccccc', 8, '='),lpad('func', 8, '='),rpad('func', 8, '-')
FROMdual;
结果:
十、regexp_substr 函数 —— 通过正则表达式分割字符串
格式:
regexp_substr(String, pattern, position, occurrence, modifier)
说明:
string:需要进行正则处理的字符串
pattern:进行匹配的正则表达式
position:起始位置,从字符串的第几个字符开始正则表达式匹配,默认为1
occurrence:获取第几个分割出来的组,分割后最初的字符串会按分割的顺序排列成组,默认为1
modifier:模式–‘i’不区分大小写进行检索;‘c’区分大小写进行检索,默认为’c’
举例子:
SELECTregexp_substr('daefaDH5AF12dafe', '[a-z]'),regexp_substr('daefaDH5AF12dafe', '[^a-z]'),regexp_substr('daefaDH5AF12dafe', '[^a-z]', 1, 1, 'c'),regexp_substr('daefaDH5AF12dafe', '[^a-z]', 1, 1, 'i')
FROMdual;
结果:
本文标签: Oracle 中常用的字符串函数总结
版权声明:本文标题:Oracle 中常用的字符串函数总结 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1686729975a30261.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论