首页 > 代码库 > Oracle 常用函数之字符函数
Oracle 常用函数之字符函数
1、字符串截取
substr( string, start_position, [ length ] )
例:
select substr(‘Hello World‘, 1, 2) from dual; --返回结果为 ‘He‘ 注:从字符串第一个字符开始截取长度为2的字符串select substr(‘Hello World‘, 0, 2) from dual; --返回结果为 ‘He‘ 注:0和1都是表示截取的开始位置为第一个字符select substr(‘Hello World‘, -4, 3) from dual; --返回结果为 ‘orl‘ 注:负数(-i)表示截取的开始位置为字符串右端向左数第i个字符select substr(‘Hello World‘, 2) from dual; --返回结果为 ‘ello World‘ 注:省略截取字符个数,则截取至字符串末尾select substr(‘Hello World‘, 9, 4) from dual; --返回结果为 ‘rld‘ 注:此时截取字符个数无效select substr(‘Hello World‘, 9, -2) from dual; --返回结果为 null 注:截取字符个数小于1时,返回值为null
2、查找子串位置
instr( string1, string2 , [start_position] , [nth_appearance ] )
例:
select instr(‘aabbaacc‘, ‘aa‘, 2, 1) from dual; --返回结果为5 注:从字符串‘aabbaacc‘第二字符开始查找第一次出现‘aa‘的位置select instr(‘aabbaacc‘, ‘aa‘, 2, 2) from dual; --返回结果为0 注:从字符串‘aabbaacc‘第二字符开始‘aa‘只出现了一次select instr(‘aabbaacc‘, ‘aa‘, -2, 2) from dual; --返回结果为1 注:从右向左数‘aa‘第二次出现的位置select instr(‘aabbaacc‘, ‘aa‘, 0, 1) from dual; --返回结果为0 注:查找位置应从1开始select instr(‘aabbaacc‘, ‘aa‘, 2) from dual; --返回结果为5 注:省略的参数为nth_appearance,默认为1select instr(‘aabbaacc‘, ‘aa‘) from dual; --返回结果为1 注:省略的两个参数默认都为1
3、字符串替换
replace( string, search_string, [replace_string] )
例:
select replace(‘000123‘,‘0‘,‘ab‘) from dual; --返回结果为‘ababab123‘ 注:将字符串‘000123‘中的字符‘0‘替换成字符‘ab‘select replace(‘000123‘,‘0‘) from dual; --返回结果为‘123‘ 注:省略参数replacement_string,将字符‘0‘替换为null,即删除所有字符‘0‘
4、字符串连接
concat(string1, string2) 或者 ||
例:
select concat(‘Hello ‘,‘world‘) from dual; --返回结果为‘Hello world‘select ‘Hello ‘||‘world‘ from dual; --返回结果为‘Hello world‘
5、获取字符串长度
length(string)
例:
select length(‘ Hello ‘) from dual; --返回结果为7
6、字符串去空格
ltrim(string) rtrim(string) trim(string)
例:
select ltrim(‘ a bc ‘) s1 from dual; --返回结果为‘a bc ‘ 注:去除字符串左侧的空格
select rtrim(‘ a bc ‘) s1 from dual; --返回结果为‘ a bc‘ 注:去除字符串右侧的空格
select trim(‘ a bc ‘) s1 from dual; --返回结果为‘a bc‘ 注:去除字符串左侧和右侧的空格
7、字符串去前缀和后缀
trim([leading | trailing] trim_char from string)
例:
select trim(leading ‘0‘ from ‘0000876700‘) from dual; --返回结果为‘876700‘ 注:去除前缀
select trim(trailing ‘0‘ from ‘0000876700‘) from dual; --返回结果为‘00008767‘ 注:去除后缀
select trim(‘0‘ from ‘0000876700‘) from dual; --返回结果为‘8767‘ 注:去除前缀和后缀
8、
Oracle 常用函数之字符函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。