------字符类单行函数
1.大小写转换
2.字符与ASCII码转换
3.字符串连接
4.字符串填补
5.字符串修剪
6.取子串
7.查找替换
1.大小写转换
- INITCAP:每个单词的第一个字母转为大写。
- LOWER:全部转为小写。
- UPPER:全部转为大写。
select UPPER('where is my book?') from dual;
select lower('WHERE IS MY BOOK?') from DUAL;
select initcap('WHERE IS MY BOOK?') from DUAL;
2.字符与ASCII码转换
- ASCII:将一个字符的ASCII码把它显示出来。
- CHR:将数字转换为对应的ASCII码。
select ASCII('&') from dual;
select CHR(37) from dual;
3.字符串连接
concat函数
select concat(concat('last',' '),'dinner') from dual;
4.字符串填补
LPAD和RPAD函数
- LPAD从左边开始填补
- RPAD从右边开始填补
select lpad('1234',3,'5') from dual;
select lpad('1234',9,'56') from dual;
select lpad('1234',9,'数') from dual;
5.字符串修剪
LTRIM函数(从左边开始截取) 和RTRIM函数(从右边开始截取)
- 默认从左或右去掉空格
- 从左或右去掉第一个参数中的字符,直到该字符不等于第二个参数中的任意字符
ltrim('aabdwecab','abcd')='wecab'
TRIM函数
- 默认去掉两端的空格
- 从左或/和右去掉第二个参数指定的字符,仅一个
trim('a' from 'aabdwecaba')='bdwecab'
6.取子串
substr函数,第二个参数表示截取的位置,第三个参数表示截取的长度。
select substr('lastwinner@dataguru',5,6) from dual;
select substr('lastwinner@dataguru',-5,3) from dual;
7.查找替换
- instr函数
返回要截取的字符串在源字符串中的位置。
select instr('lastwinner@dataguru','win') from dual;
select instr('lastwinner@dataguru','as') from dual;
- replace函数
replace(char,search_string,replacement_string)
用法:将char中的字符串search_string全部转换为字符串replacement_string.
select replace('Today is a good day.',' ','*') from dual;
select replace('Today is a good day.','go','*') from dual;
- translate函数
translate(char,from,to)
用法:返回出现在from中的每个字符替换为to中的相应字符以后的字符串。
若from比to字符串长,那么在from中比to中多出的字符将会被删除。
select translate('(+0086-)010-68345678','0(+)-','09')from dual;
select translate('1last34winn00er97是剑2破53冰45山4的5作5者之4453一45','|0123456789','l') from dual;
注:replace函数针对的是字符串,而translate针对的是单个字符。