函数的分类
=========================================================
单行函数:一个input对应一个output,input和output存在一一对应的关系 如lower
组函数: 多个input,但是只对应一个output。如 sum()
=========================================================
单行函数
特点:
每行返回一个结果,输入输出存在一一对应的关系
能嵌套使用 ,一个函数的输出能做另外一个函数的输入 如:select lowner(upper('aa')) from dual;
传入的变量可以是列的值,也可以是表达式。 如 select lower(ename) from emp;
=========================================================
字符函数:
1、大小写处理(upper lower),对字符串
SQL>select upper(ename),sal from emp;
SQL>select lower(ename),sal from emp;
2、连接函数 concat
SQL>select concat('Hello','World') from dual;
3、截取 substr(c1,n1,n2)
n1 开始时候的位置
n2 截取的长度,默认为截取到最后。
SQL>select substr('HelloWorld',6,2) from dual;
4、instr 指定字符在某个字符串中的第几位
SQL>select instr('abcdefg','c') from dual; c在字符串xxx的第几位
SQL>select instr('abcdefg','c',-1) from dual; 从右边往左边数,第一个c在第几位 第三个参数表示查找的方向
SQL>select instr('abcdefgc','c',-1) from dual;
SQL>select instr('abcdefgc','c',-1,2) from dual;
5、取长 length
select length('HeloWorld') from dual;
select length('') from dual;
6、位数填充
①左填充 lpad(c1,n,c2) 返回指定长度为n的字符串
SQL>select lpad(sal,10,'*') from emp;
②右填充
SQL>select rpad(sal,10,'*') from emp;
7、修剪trim
SQL>select trim(' Hello ') from dual; --截取,两边的空格。作用 留言板空格的问题,可能不小心按住了很多空格
SQL>select ltrim(' Hello ') from dual;
SQL>select rtrim(' Hello ') from dual;
8、例子
SQL>select empno,concat('name is ',ename) NAME,job,length(ename),instr(ename,'A') "contains 'A'"
from emp
where substr(job,5) = 'GER';