zoukankan      html  css  js  c++  java
  • oracle 的函数

    Oracle 的函数

    分类

          

     单行函数:  对每一行输入值进行计算,得到相应的计算结果,返回给用户,也就是说,

                   每一行作为一个输入参数,通过函数计算得到每行的计算结果。比如说length

     多行函数:对多行输入值进行计算,得到多行对应的多个结果,比如max,min等

    单行函数

    字符函数:

     用于处理字符的业务

      replace(char 1,search_string,replace_string)

    举例:

    在emp表中的ename列中替换所有的A

    select replace(ename,’A’,’替换后的A’) from emp;

     instr( C1,C2,I,J)

          C1  被搜索的字符串

          C2  希望搜索的字符串

          I    搜索开始的位置

          J    出现的位置,默认为1

          举例:

           select instr(‘Oracle index string function’,’s’,1,2) from dual;

     

    ascii(‘要转换的字符’)  返回与指定的字符对应的十进制数

    案例:

    select ascii('A') A,ascii('a') as a,ascii('0') as zero,ascii(' ') as space from dual;

     

     chr(int)  给出整数,返回对应的字符

          案例:

          select chr(54740) as zh,chr(65) as c6 from dual;

     

      concat   连接字符串

         案例:

         select concat(ename,' 是好人') from emp;

         等效:

         select ename || ‘是好人’ from emp;

     

      initcap  字符转换首字母大写

    案例:

    select initcap('abc') from dual;

     

       length   计算字符串长度 ,不区分中英文

       案例:

       找出emp表中字符是4的员工

       select * from emp where length(ename) = 4;

    lower和upper函数   全部变小写 / 全部变大写

    综合:

    把员工的名字首字母小写,其他字母大写?

    select concat(lower(substr(ename,1,1)),upper(substr(ename,2,length(ename)-1))) from emp;

     

    lpad 和 rpad   左填充/右填充

    案例:

    select lpad(‘  测试’,14,’左填左填’) from dual;

     

    ltrim 和 rtrim   坐裁剪/右裁剪

    案例:

    select  rtrim('right trim oooooooo','o') from dual;

     

    -------------------------------------------------------

    裁剪全部o

    trim   裁剪指定字符,仅支持单字符

    select trim('t' from 'the is a trim') from dual;

     

    数字函数:

    ceil函数   用于向上取整

    select ceil(3.1415926) from dual;

     

    floor 用于向下取整

     

      mod(m,n)  取模,如果n是0,返回m

     

    round函数,用于四舍五入

     

    trunk函数,用于截取一个整数

      

    add_months (日期值,增加||减少的月份)

    显示最近三个月入职的员工

     

    -------------------------------------------

    sysdate :  显示当前日期

    last_day   显示当月最后一天

     

    next_day   显示最近指定的日期

     

    to_char(number) 转换指定数值格式

    案例:

    select to_char(sal,'L999G999D99') FROM emp;

     

    9: 表示一个数字

    L:表示本地货币样式

    G: 分组分隔符(使用本地化)

    D:表示逗号

     

    根据deptno编号显示不同的信息

     

    select decode(deptno,10,'10号部门',20,'20号部门',30,'30号部门') from emp;

     

     to_date(string,format);    --将字符串转换成日期

     

    举例:

    insert into emp(empno,hiredate) values(7777,to_date('2017-8-6','yyyy-mm-dd'));

    说明:

    to_char   是使日期转换成字符

    to_date   是使字符转换成日期

    系统函数:

    功能:用于查询系统信息;

    视频笔记:

     

    小技巧

    使用子查询完成行迁移

    格式:   create table 表名 as select 列名1[ ,列名2 …]from 待复制表 [where]

    使用子查询完成更新

     案例:

    希望员工scott的岗位、工资、补助与smith员工一样

     

    传统:update emp set job = (select job from emp where ename = ‘smith’),sal = (sele….),comm = (sele….) where enmae = ‘scott’;

    快捷:update emp set (job,sal,comm) = (select job,sal,comm from emp where ename = ‘’smith) where ename = ‘scott’;

  • 相关阅读:
    省市区多级联动数据组合
    常用字符串函数
    设计模式分类
    计算机网络学习笔记(绪论第一部分)
    关于JAVA核心技术(卷一)读后的思考(继承中的类、子类和超类)
    关于JAVA核心技术(卷一)读后的思考(用户自定义类,静态域和静态方法的思考以及方法参数)
    关于JAVA核心技术(卷一)读后的思考(对象与类,日历的构造)
    微型学生信息管理系统的建立
    PHP异常处理(Exception)
    使用trait中相同方法的优先级问题
  • 原文地址:https://www.cnblogs.com/w-gao/p/7302378.html
Copyright © 2011-2022 走看看