Sql--plus函数

    技术2022-05-20  29

    Sql--plus函数:

    字符串函数是oracle使用最广泛的一种函数.

    LOWER:小写

    UPPER:大写

    INITCAP:首字母大写

    CONCAT:连接

    SUBSTR:截取  (参数,开始,数目)

    LENGTH:返回字符串的长度

    INSTR:(参数,字母) 返回字母出现的位置

    LPAD:(参数,长度,在前补齐参数字母)

    RPAD:(参数,长度,在后补齐参数字母)

    TRIM TRIM('S' from ename)去掉含有s

    REPLACE:(参数,参数[,参数]:第一个参数操作数,第二是要查找的字符,第三个是替换的字符,如果没有第三个就删除查找的字符。

    具体的例子:

    //查询名称为scott的员工信息 (不区分大小写)

    SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp  where lower(ename)='scott';

    SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp  where upper(ename)='SCOTT';

    //查询员工信息 把员工名称与工作连接在一起

    SQL> select empno,concat(ename,job),mgr,hiredate,sal,comm,deptno from emp;

    //查询员工信息 把员工名称与工作连接在一起

       SQL> select empno,concat(ename||'is work:',job),mgr,hiredate,sal,comm,deptno from emp;

    //查询员工名称中含有O字符的位置

    SQL> select empno,instr(ename,'O'),job,mgr,hiredate,sal,comm,deptno from emp;

    //查询员工名称中含有O字符的位置并且求出了员工名称字符长度

    SQL> select empno,instr(ename,'O'),length(ename),job,mgr,hiredate,sal,comm,deptno from emp;

    //在查询上面结果中过滤出员工工作从第三字母开始为ERK员工信息

    SQL> select empno,instr(ename,'O'),length(ename),job,mgr,hiredate,sal,comm,deptno from emp where substr(job,3)='ERK';

    备注:当含有两个参数的时候,从开始位置直接到参数结束的结束为止

    //在效果同上的同时指明了截取个数为3

     SQL> select empno,instr(ename,'O'),length(ename),job,mgr,hiredate,sal,comm,deptno from emp where substr(job,3,3)='ERK';

    //查询员工信息  薪资是10位位数不够在左部分补*填充

    SQL> select empno,ename,job,mgr,hiredate,LPAD(sal,10,'*'),comm,deptno from emp;

    //查询员工信息  薪资是10位位数不够在右部分补*填充

    SQL> select empno,ename,job,mgr,hiredate,RPAD(sal,10,'*'),comm,deptno from emp;

    //查询员工信息  把员工名称中含有S字符去除掉

    SQL> select empno,TRIM('S' from ename),job,mgr,hiredate,10,comm,deptno from emp;

    等效于:

    SQL> select empno,TRIM( both 'S' from ename),job,mgr,hiredate,10,comm,deptno from emp;

    //查询员工信息  把员工名称中前面有S字符去除掉

    SQL> select empno,TRIM( Leading 'S' from ename),job,mgr,hiredate,10,comm,deptno from emp;

    //等效于

    SQL> select empno,LTRIM( ename,'S'),job,mgr,hiredate,10,comm,deptno from emp;

    //查询员工信息  把员工名称中后面有S字符去除掉

    SQL> select empno,TRIM( trailing 'S' from ename),job,mgr,hiredate,10,comm,deptno from emp;

    等效于:

    SQL> select empno,RTRIM( ename,'S'),job,mgr,hiredate,10,comm,deptno from emp;

     

     


    最新回复(0)