zoukankan      html  css  js  c++  java
  • Oracle内置函数


    1.ASCII 返回与指定的字符对应的十进制数;
    SQL>select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;

    2.chr 给出整数,返回对应的字符;

    SQL>select chr(55203) zhu,chr(65) chr65 from dual;

    3.concat 连接两个字符串;

    SQL>select concat('010-','88888888')||'转23' 某公司电话 from dual;

    4.INITCAP 返回字符串并将字符串的第一个字母变为大写;

    SQL>select initcap('smith') upp from dual;

    5.INSTR(C1,C2,M,N) 在一个字符串中搜索指定的字符,返回发现的字符的位置;

    C1:被搜索的字符串

    C2:希望搜索的字符串

    M :搜索的开始位置,默认为1

    N :出现的位置,默认为1

    SQL>select instr('oracle traning','ra',1,2) instring from dual;


    6.LENGTH 返回字符串的长度;


    7.LOWER 返回字符串,并将所有的字符小写

    SQL> select lower('AaBbCcDd')AaBbCcDd from dual;


    8.UPPER 返回字符串,并将所有的字符大写

    SQL> select upper('AaBbCcDd') upper from dual;

    9.RPAD和LPAD(粘贴字符)
    RPAD 在列的右边粘贴字符
    LPAD 在列的左边粘贴字符
    SQL> select lpad(rpad('gao',10,'*'),17,'*')from dual;


    LPAD(RPAD('GAO',1
    -----------------
    *******gao*******
    不够字符则用*来填满


    10.LTRIM和RTRIM
    LTRIM 删除左边出现的字符串
    RTRIM 删除右边出现的字符串
    SQL> select ltrim(rtrim(' gao qian jing ',' '),' ') from dual;


    11.SUBSTR(string,start,count)
    取子字符串,从start开始,取count个
    SQL> select substr('13088888888',3,8) from dual;


    12.REPLACE('string','s1','s2')
    string 希望被替换的字符或变量
    s1 被替换的字符串
    s2 要替换的字符串
    SQL> select replace('he love you','he','i') from dual;


    13.TRIM('s' from 'string')
    LEADING 剪掉前面的字符
    TRAILING 剪掉后面的字符
    如果不指定,默认为空格符


    14.ABS 返回指定值的绝对值
    SQL> select abs(100),abs(-100) from dual;


    15.CEIL 返回大于或等于给出数字的最小整数
    SQL> select ceil(3.1415927) from dual;


    16.FLOOR 对给定的数字取整数
    SQL> select floor(2345.67) from dual;


    1726.MOD(n1,n2) 返回一个n1除以n2的余数
    SQL> select mod(10,3),mod(3,3),mod(2,3) from dual;

    18.POWER 返回n1的n2次方根
    SQL> select power(2,10),power(3,3) from dual;


    19.ROUND和TRUNC
    按照指定的精度进行舍入
    SQL> select round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from dual;


    20.SIGN 取数字n的符号,大于0返回1,小于0返回-1,等于0返回0
    SQL> select sign(123),sign(-100),sign(0) from dual;


    21.TRUNC
    按照指定的精度截取一个数
    SQL> select trunc(124.1666,-2) trunc1,trunc(124.16666,2) from dual;


    22.ADD_MONTHS
    增加或减去月份
    SQL> select to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm') from dual;

    SQL> select to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm') from dual;


    23.LAST_DAY
    返回日期的最后一天
    SQL> select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from dual;


    24.MONTHS_BETWEEN(date2,date1)
    给出date2-date1的月份
    SQL> select months_between('19-12月-1999','19-3月-1999') mon_between from dual;


    MON_BETWEEN
    -----------
    9
    SQL>selectmonths_between(to_date('2000.05.20','yyyy.mm.dd'),to_date('2005.05.20','yyyy.dd')) mon_betw from dual;


    MON_BETW
    ---------
    -60


    25.NEW_TIME(date,'this','that')
    给出在this时区=other时区的日期和时间
    SQL> select to_char(sysdate,'yyyy.mm.dd hh24:mi:ss') bj_time,to_char(new_time
    2 (sysdate,'PDT','GMT'),'yyyy.mm.dd hh24:mi:ss') los_angles from dual;


    BJ_TIME LOS_ANGLES
    ------------------- -------------------
    2004.05.09 11:05:32 2004.05.09 18:05:32


    26.SYSDATE 用来得到系统的当前日期
    SQL> select to_char(sysdate,'dd-mm-yyyy day') from dual;

    27.TO_DATE(string,'format') 将字符串转化为ORACLE中的一个日期

    28.TO_NUMBER
    将给出的字符转换为数字

    29.GROUP BY 主要用来对一组数进行统计
    SQL> select deptno,count(*),sum(sal) from scott.emp group by deptno;


    DEPTNO COUNT(*) SUM(SAL)
    --------- --------- ---------
    10 3 8750
    20 5 10875
    30 6 9400

    30..HAVING 对分组统计再加限制条件
    SQL> select deptno,count(*),sum(sal) from scott.emp group by deptno having counnt(*)>=5;


    DEPTNO COUNT(*) SUM(SAL)
    --------- --------- ---------
    20 5 10875
    30 6 9400
    SQL> select deptno,count(*),sum(sal) from scott.emp having count(*)>=5 group by tno ;


    DEPTNO COUNT(*) SUM(SAL)
    --------- --------- ---------
    20 5 10875
    30 6 9400

    31.ORDER BY 用于对查询到的结果进行排序输出
    SQL> select deptno,ename,sal from scott.emp order by deptno,sal desc;


    DEPTNO ENAME SAL
    --------- ---------- ---------
    10 KING 5000
    10 CLARK 2450
    10 MILLER 1300
    20 SCOTT 3000
    20 FORD 3000
    20 JONES 2975
    20 ADAMS 1100
    20 SMITH 800
    30 BLAKE 2850
    30 ALLEN 1600
    30 TURNER 1500
    30 WARD 1250
    30 MARTIN 1250
    30 JAMES 950

  • 相关阅读:
    模块
    迭代器,生成器
    内置函数
    匿名函数,三元表达式,列表推导式,字典生成式
    递归
    闭包函数,装饰器
    名称空间与作用域
    《数据结构与算法之6 扑克牌洗牌算法》
    《java学习笔记》
    Building Machine Learning Systems with Python 2
  • 原文地址:https://www.cnblogs.com/zhaojinhui/p/3881260.html
Copyright © 2011-2022 走看看