LPAD(<c1>,<i>[,<c2>])
|
在字符串c1的左边添加字符串c2直到c1字符串的长度等于i。
|
SELECT LPAD('Hello!',8,'*') leftpad,RPAD('Hello!',8,'*') rightpad FROM DUAL;
|
RPAD(<c1>,<i>[,<c2>])
|
在字符串c1的右边添加字符串c2直到c1字符串的长度等于i。
|
LOWER(<c1>)
|
把字符串c1转换为小写。
|
SELECT LOWER(ename) 小写,UPPER(ename) 大写, INITCAP(ename) 首字符 FROM EMP;
|
UPPER(<c1>)
|
把字符串c1转换为大写。
|
INITCAP(<c1>)
|
把c1字符串的每一个单词的第一个字母转换成大写字母。
|
LENGTH(<c1>)
|
返回字符串c1的长度。
|
SELECT LENGTH('How are you') FROM DUAL;
|
SUBSTR(<c1>,<i>[,<j>])
|
返回字符串c1中从第i个位置开始的j个字符(向右)。如果省略j,则返回c1中从第i个位置开始的所有字符。如果j为负,则返回字符串c1中从第i个位置开始的j个字符(向左)。
|
SELECT SUBSTR('Hello,World',1,5) FROM DUAL; 1不是下标
|
INSTR(<c1>,<c2>[,<i>[,<j>]])
|
在c1中从位置i开始查找c2在c1中出第j次的位置,i可以为负(此时,从c1的尾部开始)。
|
SELECT INSTR('Mississippi','i',3,3) FROM DUAL; 返回结果11。
SELECT INSTR('Mississippi','i',-2,3) FROM DUAL; 返回结果2。 |
LTRIM(<c1>,<c2>)
|
从c1前面开始去掉出现在c2的中任何前导字符集。
|
SELECT LTRIM('Mississippi','Mis') FROM DUAL; 返回结果'ppi'。
SELECT RTRIM('Mississippi','ip') FROM DUAL; 返回结果'Mississ' |
RTRIM(<c1>,<c2>)
|
从c1后面开始去掉出现在c2的中任何前导字符集。
默认去掉空格
Trim(),去掉两端空格
|
Concat (<c1>, <c2>)
|
用于连接c1,c2两个表达式
|
Select concat ('Hello',' world') from dual;
|
Replace(<c1>,<c2>,[<c3>] )
|
用c3替换c1中所有c2字符,如果没有c3,表示去掉c2字符
|
Select replace('jack and jue' ,'j','bl') from dual;
|
CHR和ASCII
|
字符与ASCII值之间的转换
|
|
DECO
DE(<x>,<m1>,<r1>[,<m2>,<r2
…>])
|
功能类似于一系列的if…then…else语句。
如果deptno为10,用学术部替代
如果为20,用市场部替代
如果为30,用就业部替代 |
select deptno,decode(deptno,10,'学术部',20,'市场部',30,'就业部') from emp;
|