zoukankan      html  css  js  c++  java
  • Oracle SQL函数

    Oracle将函数大致分为单行函数,聚合函数和分析函数。

    单行函数分为字符函数,日期函数,转换函数,数字函数,通用函数,decode函数

    一.字符函数

     1)大小写控制函数

        01.Lower() 全部小写

    --字符函数
    --小写
    select Lower ( 'HAPPY') from dual;

    效果:

       02.Upper()  全部大写

    --大写
    select Upper ('happy') from dual;

    效果:

       03.initcap()  首字母大写 

    --首字母大写
    select initcap ('happy') from dual;

     效果:

    2)字符控制函数

         01.concat()   拼接

    --拼接
    select concat('happy','boy') from dual;

    效果:

         02.substr()   截取字符

    --截取字符串 位置从1开始
    select substr('happyboy',6) from dual;

    效果:

    --要截取的字符,起始位置,取几个字符
    select substr('happyboy',6,3) from dual;

    效果:

        03.length()和lengthb()

      --length('字符串'):字符个数统计
       -- lengthb('字符串'):字节个数统计
    select length('呵呵') 字符数,lengthb('呵呵') as 字节数 from dual;

    效果:

        04.instr()

    --instr('大字符串','小字符串')返回小字符串在大字符串中出现的位置
    select instr('happy hehe','he',2,2) "Instring" from dual;

    select instr('happy hehe','he',-2,2) "Reversed Instring" from dual;

    效果:

    select instr('happy hehe','he',2,2) "Instring in bytes" from dual;

    效果:

        05.lpad()和rpad()

    --lpad()和rpad()
    select lpad('happy',10,'*') from dual;

    效果:

    二.日期函数

    1)日期函数

         01.两个日期相差的月数

    select MONTHS_BETWEEN
    (TO_DATE('02-02-1995','MM-DD-YYYY'),
    TO_DATE('01-01-1995','MM-DD-YYYY')) "Months"
    from dual;

    效果:

        02.向指定日期中加上若干月数

    --向指定日期中加上若干月数
    select TO_CHAR(ADD_MONTHS(hiredate,1),'DD-MON-YYYY') "Next month" 
    from emp
    where ENAME='JONES';

    效果:

    2)日期相减

        01.两个日期间的天数

    --两个日期间的天数
    select floor(sysdate-to_date('20020405','yyyymmdd')) from dual;

    效果:

        02.两个日期相差的月数

    --两个日期相差的月数
    select months_between(sysdate,to_date('20111204','yyyymmdd')) from dual;

    效果:

    三。转换函数

    1)隐式转换

    --转换函数
    --隐式函数
    select * from emp
    where hiredate='17-12月-80';

    效果:

    2)显示转换

       01.to_char()对日期的转换

    --显式函数
       --01.to_char()对日期的转换
       select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

    效果:

       02.to_char()对数字的转换

    --02.to_char()对数字的转换
       select to_char(sal,'L9,999.99') 
       from emp;

    效果:

    四.数字函数

        01.Round()

    --数字函数
      --01.Round()四舍五入
      select round(12.45,1) from dual;

    效果:

        02.trunc()截断

     --02.trunc()截断
      select trunc(15.19,1) "Truncate" from dual;

    效果:

     五.通用函数

    nvl和nvl2滤空函数

       01.nvl滤空函数

    select sal*12工资,comm 奖金,sal*12+nvl(comm,0) from emp;

    效果:

       02.nvl2滤空函数

    select sal*12工资,comm 奖金,sal*12+nvl2(comm,comm,0) from emp;

    效果:

     六.decode函数

    复制代码
    --decode函数
      select ename,empno,
          decode (ename,'SMITH',1,
          'ALLEN',2,
          'WARD',3,
          'JONES',4) "Location"
          from emp
          where empno<7600
          order by empno,"Location"
    复制代码

    效果:

  • 相关阅读:
    DIY 作品 及 维修 不定时更新
    置顶,博客中所有源码 github
    openwrt PandoraBox PBR-M1 极路由4 HC5962 更新固件
    使用 squid 共享 虚拟专用网至局域网
    第一次参加日语能力测试 N5
    libx264 libfdk_aac 编码 解码 详解
    开发RTSP 直播软件 H264 AAC 编码 live555 ffmpeg
    MFC Camera 摄像头预览 拍照
    http2 技术整理 nginx 搭建 http2 wireshark 抓包分析 server push 服务端推送
    plist 图集 php 批量提取 PS 一个个切
  • 原文地址:https://www.cnblogs.com/6zhi/p/5811080.html
Copyright © 2011-2022 走看看