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’;

  • 相关阅读:
    unsupported jsonb version number 123
    如何在MPlayer上支持RTSP
    TDengine 时序数据库的 ADO.Net Core 提供程序 Maikebing.EntityFrameworkCore.Taos
    如何使用IoTSharp对接ModBus?
    如何从源码启动和编译IoTSharp
    Asp.Net Core 自动适应Windows服务、Linux服务、手动启动时的内容路径的扩展方法
    MQTTnet 的Asp.Net Core 认证事件的扩展
    Asp.Net Core 中利用QuartzHostedService 实现 Quartz 注入依赖 (DI)
    The remote certificate is invalid according to the validation procedure 远程证书验证无效
    settings插拔式源码
  • 原文地址:https://www.cnblogs.com/w-gao/p/7302378.html
Copyright © 2011-2022 走看看