字符串函数有以下几种:
字符串 upper(字符串 | 数据列):转大写
字符串 lower(字符串 | 数据列):转小写
字符串 initcap(字符串 | 数据列):首字母大写,其余字母小写
数字 length(字符串 | 数据列):取得字符串长度
字符串 replace(字符串 | 数据列,要替换的内容,新的内容):替换执行字符串的内容
字符串 substr(字符串 | 数据列),截取开始索引):由指定位置截取到结尾
字符串 substr(字符串 | 数据列,截取开始索引,截取结束的长度):指定截取的开始和结束的位置
字符串 trim(字符串 | 数据列):去掉左右空格函数
范例:
1,直接在字符串数据上使用:select upper('Hello'),lower('Hello') from dual;
2,在数据列上使用:select ename,lower(ename) from emp;
3,每一个雇员姓名首字母大写,其余字母小写:select ename,initcap(ename) from emp;
4,计算字符串的长度:select length('HelloWorld') from dual;
5,查询出所有雇员姓名以及每个雇员姓名的长度:select ename,length(ename) from emp;
6,查询出所有雇员姓名长度为5的全部雇员信息:select ename,length(ename) from emp where length(ename)=5;
7,替换字符串的数据:select replace('hello world','l','_') from dual;
8,替换数据列:select ename,replace(ename,'A','S') from emp;
9,字符串截取:select substr('HelloWorld',7) from emp;
10,字符串截取,截取部分:
select substr('HelloWorld',1,3) from emp;
select substr('HelloWorld',0,3) from emp;
11,截取雇员姓名后3个字母:select ename,substr(ename,-3) from emp;
12,验证trim函数:select 'helloworld' ,trim(' helloworld ') from dual;
面试题:请问Oracle之中的substr()函数进行截取的时候下标是从0还是从1开始?
实际上从0还是从1开始没有任何区别,Oracle之中的字符串是从1开始的,但是即使设置了0,也表示从1开始,同时substr()函数还可以设置为负数,表示由后的指定位置开始。