字符函数
1:length():计算字符长度;
select length(‘abcd12’) from dual 结果为:6
select length(‘abcd12汉字’) from dual 结果为:8
2:concat() :拼接字符串,等价于 ||;
select concat(‘123’,’abc’) from dual 结果为: 123abc,
select ‘123’||’abc’ from dual 结果为: 123abc
注意:concat()里面只能有两个字符,当想多个字符拼接时,镶套concat();例如:select concat(concat(‘123’,’abc’),’ak’) from dual。但是用||拼接时,可以随意多个字符。
3:replace():字符替换函数;
select replace(‘abccba’,’b’,’9’) from dual 结果为:a9cc9a,
当第三个参数不输入时:相当于删除字符; select replace(‘abccba’,’b’) from dual 结果为 acca。
4:substr():字符串截取函数;substr(字符串,起始位置,截取长度)。
select substr(‘abcdef’,1,4) from dual 结果为 abcd
select substr(‘abcdef’,0,4) from dual 结果也为abcd
select substr(‘abcdef’,2,4) from dual 结果为bcde
开始位置为1或者0结果是一样的。(个人:可以认为这个函数中字符串的索引时从1开始的)当截取长度超过字符串长度时就是从起始位置截取到最后,select substr(‘abcdef’,2,10) from dual 结果为:bcdef。
起始位置和截取长度也可以为小数,只不过只用小数点前的数字,即舍去小数,select substr(‘abcdef’,2.9,3.2) from dual 结果为’bcd’。
起始位置也可以为负数,表示从后面某个数开始向后截取,(截取长度不可以为负哦,可以自己试试0.0),select substr(‘abcdef’,-3,2) from dual 结果为’de’
截取长度还可以不输入,表示从起始位置截取到最后,select substr(‘Jackie’ , 2 ) from dual 结果为’ackie’