--单行函数--字符处理的,数字的,日期转换,通用函数
SELECT ename,upper(ename),lower(ename)
FROM emp;
--多行函数-聚合函数,就是指多行函数
SELECT count(ename) FROM emp;
sum(),min(),max(),count()
/*
字符函数
*/
--lower,upper:转换大小写
SELECT ename,
lower(ename),
upper(ename)
FROM emp;
--initcap:单词首字母大写,其余小写
SELECT initcap('this IS a book')
FROM dual;
--concat(字符串1,字符串2):拼接字符串,只能拼接两个
SELECT concat('hello','world')
FROM dual;
--substr(字符串,起始位置[,截取个数]):截字符截取一个字符串的子串,起始位置可以为负数(右数第N位)
SELECT substr('abcdefg',3) FROM dual;--cdefg
SELECT substr('abcdefg',3,2) FROM dual;--cd
SELECT substr('abcdefg',-3) FROM dual;--efg
SELECT substr('abcdefg',-3,2) FROM dual;--ef
--截字节
SELECT substrb('abcdefg',3) FROM dual;--cdefg
SELECT substrb('abcdefg',3,2) FROM dual;--cd
SELECT substrb('abcdefg',-3) FROM dual;--efg
SELECT substrb('abcdefg',-3,2) FROM dual;--ef
--length:返回字符串长度
SELECT length('abcd') from dual;--4
SELECT length('字符') from dual;--null
SELECT lengthb('字符') from dual;
--instr(字符串,查找子串[,起始位置[,第几次出现]]):查找字符串中子串的起始位置,如果找不到返回0
--起始位置也可以为负数(从右向左反向搜索)
SELECT instr('abcdefg','cd') FROM dual;--3
SELECT instr('abcdefg','cdf') FROM dual;--0
SELECT instr('abcdefgcdefg','cd') FROM dual;--3
SELECT instr('abcdefgcdefg','cd',4) FROM dual;--8
SELECT instr('abcdefgcdefg','cd',-1) FROM dual;--8
SELECT instr('abcdefgcdefgcde','cd',1,3) FROM dual;--8
--lpad(字符串,固定长度,填充字符):左填充
--rpad:同上,右填充
SELECT lpad('abcd',7,'*') FROM dual;--###abcd
SELECT lpad('abcd',3,'#') FROM dual;--abc
SELECT rpad('abcd',7,'#') FROM dual;--abcd###
SELECT lpad('',7,'*') FROM dual;--null
SELECT lpad(' ',7,'*') FROM dual;--******
SELECT lpad('abcd',7.9,'*') FROM dual;--***abcd
--去掉首尾空格
select trim(' aadfdsf ') from dual;
--trim(关键字 from 字符串):修剪字符串两边的关键字
SELECT trim('b' FROM 'babcdaaxyza') FROM dual;--bcdaaxyz
SELECT 123||ltrim(' abcd ')||456 FROM dual;--123abcd 456
SELECT 123||rtrim(' abcd ')||456 FROM dual;--123 abcd456
SELECT rtrim('aabcdaaxyza','a') FROM dual;--aabcdaaxyz
SELECT ltrim('aabcdaaxyza','a') FROM dual;--bcdaaxyza
--replace(字符串,查找字符串[,替换字符串]):替换字符串中的子串,默认是替换为空字符串
SELECT replace('abcdefgabcd','cd') FROM dual;--abefgab
SELECT replace('abcdefgabcd','cd','#') FROM dual;--ab#efgab#
--chr:把编码转换为字符
SELECT chr(78) FROM dual;--A
--ascii:把字符转换为编码
SELECT ascii('N') FROM dual;--65
SELECT ascii('国') FROM dual;
SELECT ename,upper(ename),lower(ename)
FROM emp;
--多行函数-聚合函数,就是指多行函数
SELECT count(ename) FROM emp;
sum(),min(),max(),count()
/*
字符函数
*/
--lower,upper:转换大小写
SELECT ename,
lower(ename),
upper(ename)
FROM emp;
--initcap:单词首字母大写,其余小写
SELECT initcap('this IS a book')
FROM dual;
--concat(字符串1,字符串2):拼接字符串,只能拼接两个
SELECT concat('hello','world')
FROM dual;
--substr(字符串,起始位置[,截取个数]):截字符截取一个字符串的子串,起始位置可以为负数(右数第N位)
SELECT substr('abcdefg',3) FROM dual;--cdefg
SELECT substr('abcdefg',3,2) FROM dual;--cd
SELECT substr('abcdefg',-3) FROM dual;--efg
SELECT substr('abcdefg',-3,2) FROM dual;--ef
--截字节
SELECT substrb('abcdefg',3) FROM dual;--cdefg
SELECT substrb('abcdefg',3,2) FROM dual;--cd
SELECT substrb('abcdefg',-3) FROM dual;--efg
SELECT substrb('abcdefg',-3,2) FROM dual;--ef
--length:返回字符串长度
SELECT length('abcd') from dual;--4
SELECT length('字符') from dual;--null
SELECT lengthb('字符') from dual;
--instr(字符串,查找子串[,起始位置[,第几次出现]]):查找字符串中子串的起始位置,如果找不到返回0
--起始位置也可以为负数(从右向左反向搜索)
SELECT instr('abcdefg','cd') FROM dual;--3
SELECT instr('abcdefg','cdf') FROM dual;--0
SELECT instr('abcdefgcdefg','cd') FROM dual;--3
SELECT instr('abcdefgcdefg','cd',4) FROM dual;--8
SELECT instr('abcdefgcdefg','cd',-1) FROM dual;--8
SELECT instr('abcdefgcdefgcde','cd',1,3) FROM dual;--8
--lpad(字符串,固定长度,填充字符):左填充
--rpad:同上,右填充
SELECT lpad('abcd',7,'*') FROM dual;--###abcd
SELECT lpad('abcd',3,'#') FROM dual;--abc
SELECT rpad('abcd',7,'#') FROM dual;--abcd###
SELECT lpad('',7,'*') FROM dual;--null
SELECT lpad(' ',7,'*') FROM dual;--******
SELECT lpad('abcd',7.9,'*') FROM dual;--***abcd
--去掉首尾空格
select trim(' aadfdsf ') from dual;
--trim(关键字 from 字符串):修剪字符串两边的关键字
SELECT trim('b' FROM 'babcdaaxyza') FROM dual;--bcdaaxyz
SELECT 123||ltrim(' abcd ')||456 FROM dual;--123abcd 456
SELECT 123||rtrim(' abcd ')||456 FROM dual;--123 abcd456
SELECT rtrim('aabcdaaxyza','a') FROM dual;--aabcdaaxyz
SELECT ltrim('aabcdaaxyza','a') FROM dual;--bcdaaxyza
--replace(字符串,查找字符串[,替换字符串]):替换字符串中的子串,默认是替换为空字符串
SELECT replace('abcdefgabcd','cd') FROM dual;--abefgab
SELECT replace('abcdefgabcd','cd','#') FROM dual;--ab#efgab#
--chr:把编码转换为字符
SELECT chr(78) FROM dual;--A
--ascii:把字符转换为编码
SELECT ascii('N') FROM dual;--65
SELECT ascii('国') FROM dual;