zoukankan      html  css  js  c++  java
  • Oracle高级查询,事物,过程及函数

    一,数值函数:

    1,select ABS (-3) from dual;  --绝对值函数

    2,.CEIL 只产生大于或等于指定值的最小整数,要特别留意它对负数产生的影响。  

      select CEIL(5) from dual;    结果5
         select  CEIL(5.3)  from dual;   结果5
         select  CEIL(-2)   from dual;  结果-2
         select  CEIL(-2.4)  from dual; 结果-2  

    3,FLOOR 返回等于或小于指定值的最大整数:

      select   FLOOR (5)  from dual;    结果5
         select    FLOOR (5.3)  from dual;  结果5
         select    FLOOR (-2)  from dual;   结果-2
         select    FLOOR (-2.4)  from dual; 结果-3

    4,MOD 求余:MOD(value,divisor):

    5,POWER 用于计算一个值与给定正指数的乘方:

      select   FOWER(3,2) from dual;    结果9
        select   FOWER(3,3)  from dual;   结果27

    6,SQRT 求平方根,注意,如果当试图为一个负数开方时,它会返回一个错误。
        select  SQRT(64)  from dual;   结果8

    7,8.ROUND和TRUNC是两个相关的单值函数,TRUNC按精度值截取某个数字,ROUND则根据给定的精度舍入数值。

        select ROUND(126.564,0) from dual;  结果127

        select ROUND(126.564,-2) from dual;  结果100

        select ROUND(126.564,2) from dual;  结果126.56

    8,AVG,MAX,MIN和SUM称为聚合函数:

     AVG(列) 求平均值
       SUM(列) 求总合
       MAX(列) 求最大值
       MIN(列) 求最小值

    二,字符函数

    1,LOWER(char):将字符串转化为小写格式.

        select LOWER(ABCd) from dual;  结果abcd

    2,UPPER(char):将字符串转化为大写格式.

        select LOWER(abcd) from dual;  结果ABCD

    3,LENGTH(char):返回字符串的长度.

    4,LTRIM(char):去掉字符串char左端包含的set中的任何字符,set默认为空格.

    5,substr:字符串截取函数:

        select substr('abcd',2,2) from dual;结果为bc

    6,字符串连接:||

        select 'ab'||'cd' from dual; 结果为:abcd

    7,instr:字符查找函数

        select instr('abcdce','c') from dual;结果为3

    8,replace:字符替换函数

        select replace('abcdce','bc','test') from dual;结果为:atestdce 

    三,转换函数

    1,TO_CHAR、TO_DATE或TO_NUMBER 

        (1)To_char:转换成字符串类型,如:select  To_char(1234.5, '$9999.9') from dual;,结果:$1234.5 
        (2)To_date:转换成日期类型,如:select  To_date('1980-01-01', 'yyyy-mm-dd') from dual;,结果:01-1月-80 

    months_between:返回两个日期间的         
    月份,如:months_between ('04-11月-05','11-1月-01'),结果,57.7741935 
    add_months:返回把月份数加到日期上的新日期,如:add_months('06-2月-03',1),结果,06-3月-03 
    add_months('06-2月-03',-1),结果,06-1月-03 
    next_day:返回指定日期后的星期对应的新日期,如:next_day('06-2月-03','星期一'),结果,10-2月-03 
    last_day:返回指定日期所在的月的最后一天,如:last_day('06-2月-03'),结果,28-2月-03 
    round:按指定格式对日期进行四舍五入,如:round(to_date('13-2月-03'),'YEAR'),结果,01-1月-03 
    round(to_date('13-2月-03'),'MONTH'),结果,01-2月-03 
    round(to_date('13-2月-03'),'DAY'),结果,16-2月-03 

    (按周四舍五入) 
    trunc:对日期按指定方式进行截断,如:trunc(to_date('06-2月-03'),'YEAR'),结果,01-1月-03 
    trunc(to_date('06-2月-03'),'MONTH'),结果,01-2月-03 
    trunc(to_date('06-2月-03'),'DAY'),结果,02-2月-03 

    (3)To_number:转换成数值类型,如:select  To_number('1234.5') from dual;,结果:1234.5 

    2,UNION(交集)和UNION ALL(并集)

        select * from scott.emp UNION select * from scott.emp;

        select * from scott.emp UNION ALL select * from scott.emp;

    3,自连接:select manager.ename from scott.emp manager,scott.emp worker where manager.empno=worker.mgr AND worker.ename='smith';

    4,内连接和外连接:select table1.column,table2.column from table1[inner|left|right|full]join table2 on table1.column1=table2.column2;

    四,  commit(提交)、rollback(滚回去):
             只要涉及到数据的增、删、改就会产生事物,事物要么执行提交,要么全部失败。
             执行commit之后会释放在会话中所有的行和表锁。一旦执行就不能用rollback恢复。
             自动提交事物:执行DDL(create table ,alter table ,drop table )、DCL(grant ,revoke)和退出SQL*plus时。

      事物的ACID属性:原子性,一致性,隔离性,持久性

    五,存储过程:

    v_name varchar2(30) := 'xx';
    begin
      select scott.emp.ename into v_name from scott.emp where empno = v_empno;
      dbms_output.put_line('员工信息' || v_name);
    end;
    
    execute
    
    declare
    begin
      proc_name(7369);
    end;

        

  • 相关阅读:
    迭代器和生成器
    函数嵌套
    页面调用dll
    C++MFC之picture control控件铺满图片
    C++中去掉string字符串中的 等
    C++之map使用
    C++之条形码,windows下zint库的编译及应用(二)
    C++之条形码,windows下zint库的编译及应用(一)
    C++通过HTTP请求Get或Post方式请求Json数据(转)
    从长字符串中获取想要的字符串
  • 原文地址:https://www.cnblogs.com/dclcc/p/3487727.html
Copyright © 2011-2022 走看看