目录
CONCAT和“||”
1)CONCAT(char1,char2)
返回两个字符串连接后的结果,两个参数char1、char2是要连接的两个字符串。
2)等价操作:连接操作符“||”
3)如果char1和char2任何一个未null,相当于连接了一个空格
eg:
SELECT CONCAT(CONCAT(ename,':'),sal) FROM emp_xyu;
查询结果为: SMITH:800
多个字符串链接,用||更直观
eg:
SELECT ename ||':'|| sal FROM emp_xyu
查询结果与上面上同
LENGTH
1)LENGTH(char)
用于返回字符串的长度
2)如果字符类型是VARCHAR2,返回字符的实际长度,如果字符类型是CHAR,长度还要包括后补的空格
eg:
SELECT ename,LENGTH(ename) FROM emp_xyu
UPPER、LOWER 和INITCAP
1)大小写转换函数,用来转换字符的大小写
2)UPPER(char)用于将字符大写形式
3)LOWER(char)用于将字符串转换为小写形式
4)INITCAP(char)用于将字符串中每个单词的首字符大写,
5)如果输入的参数是NULL值,仍然返回NULL值
eg:
SELECT UPPER('hello word'),LOWER('HELLO WORLD'),
INITCAP('hello word')
FROM DUAL;
查询结果为:
UPPER(‘HELLOWORD’) | LOWER(‘HELLOWORLD’) | INITCAP(‘HELLOWORD’) |
---|
HELLO WORD | hello world | Hello Word |
TRIM、LTRIM、RTRIM
1.作用:截取字符串
2.语法形式
1)TRIM(c2 FROM c1)从c1的前后截去c2
2)LTRIM(c1,c2)从c1的左边(Left)截取c2
3)RTRIM(c1,c2)从c1的右边(Right)截取c2
**如果没有C2就去除空格**
4)TRIM经常用来去除字符串前后的空格
SELECT TRIM('e' FROM 'elite') AS "t1",
LTRIM('elite','e') AS "t2",
RTRIM('elite','e') AS "t3"
FROM DUAL;
查询结果为
LPAD、RPAD
补位函数,用于在字符串char1的左端用char2补足到n位,char2可重复多次
1)LPAD(char1,n,char2)左补位函数
2)RPAD(char1,n,char2)右补位函数
eg: 在emp表中使用左补位将sal用$补齐6位
SELECT ename,LPAD(sal,6,'$') AS "salary"
FROM emp;
SUBSTR
SUBSTR(char,[m[m,n]])
用于获取字符串的子串,返回char中从m位开始取n个字符
1)如果m=0,则从首字符开始,如果m取负数,则从尾部开始
2)如果没有设置n,或者n的长度超过char,则取到字符串末尾为止
SELECT
SUBSTR('Dcotor WHO travels in TRADIS',8,25)
FROM DUAL;
3)字符串的计数从1开始
INSTR
INSTR(char1,char2[,n[,m]]);
返回子串char2在源字符串char1中的位置
参数:
--从n的位置开始搜索,没有指定n,从第1个字符开始搜索
--m用于指定子串的的第m次出现,如果不指定取值1
--如果在char1中没有找到子串char2,返回0
SELECT INSTR('Dcotor Who','Who') AS "words"
FROM DUAL;
返回 8