Oracle中关于字符串操作的SQL语句实例

1. 连接两个字符串,concat只能连接两个字符串哦

select concat('ABC','DEF') from dual;
select 'ABC' || 'DEF' || 'GH' from dual;
select e.ename || ',' || e.job from emp e;

2. 把每个单词的首字母都变成大写,函数initcap

select initcap('aaa bbb ccc') from dual;

3. 把整个字符串字母都改为大写,函数upper

select upper('abcdefg') from dual;
select NLS_UPPER('abcdE') from dual;

4. 把整个字符串字母都改为小写,函数lower

select lower('ABcdEfG') from dual;
select NLS_LOWER('abcDEF') from dual;

5. 搜索某一个字符在字符串中的位置,函数instr

/**
搜索某一个字符在字符串中的位置
    函数instr,如果字符串为中文,一个汉字按照一个字符算
    函数instrb,如果字符串为中文,一个汉字按照两个字符算
   第一参数表示字符串
   第二参数表示要搜索的字符
   第三参数表示搜索的开始位置,默认值为1
   第四参数表示该字符出现的第几次
**/
select instr('abcbdef','b',1,1),instrb('abcbdef','b',1,2) from dual;

6. 计算字符串的长度

select length('ABCD') from dual;

7. 在字符串左侧追加字符使得总长度为10,函数lpad

select lpad('EFG',10,'*') from dual;

8. 在字符串右侧追加字符使得总长度为10,函数rpad

select rpad('ABC',10,'*') from dual;

9. 删除字符串左边的字符,结果为egfabc,函数ltrim

select ltrim('abcegfabc','abc') from dual;

10. 删除字符串右边的字符,结果为abcegf,函数rtrim

select rtrim('abcegfabc','abc') from dual;

11. 替换字符串,结果为ABCDEFG,函数replace

select replace('ABCDefg','efg','EFG') from dual;

12. 截取字符串,运行结果为BCDE,函数substr

select substr('ABCDEFG',2,'4') from dual;

13. 截取字符串,运行结果为BCDEFG,函数substr

select substr('ABCDEFG',2) from dual;

14. 去掉字符串左右两边的字符,函数为trim

结果为ABCD***EFG*HIJ
select trim('*' from '*ABCD***EFG*HIJ*') from dual;
 

发布了141 篇原创文章 · 获赞 38 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/baidu_35901646/article/details/104297789
今日推荐