一、Sql函数

      1、数值函数(输入参数和返回值都是数值型,多数函数精确到38位)

--多少次方
select power(,) from dual;
--开方
select sqrt() from dual;
--绝对值
select ABS(-) from dual;
--向上取值
select ceil(5.3)from dual;
--向下取值
select floor (5.3)from dual;
--四舍五入
select round (1.235,) from dual;
--截取
select trunc (152.3365) from dual;
--判断正负
select sign (-) from dual;

      2、字符函数(输入参数是字符型,返回值是数值型和字符型)

          lower(char)  将字符串转换为小写格式

          upper(char)  将字符串转换为大写格式

          length(char)返回字符串的长度

          ltrim(char [,set]) 去掉set左端的字符串

--截取字符
select substr('hehe',,) from dual;
--合并
select concat('h','e') from dual;
--查找位置
select instr('he','h') from dual;
--替换
select replace('he','e','h') from dual;
--去空格
select ltrim('this','th') from dual

      3、转换函数(将数值从一种数据类型装换为另一种数据类型)

--to_number()转换为数字
select to_number('2000.02','999999D99') from dual;
--to_char()将日期型转变为字符串
select to_char(sysdate,'yyyy-mm-dd') from dual;
--to_date()转换为date类型
select to_date('2013-04-05','yyyy-mm-dd') from dual;   

    nvl(expr1,expr2) 将null转换为实际值

    nvl2(expr1,expr2,expr3) 如果expr1不为null 这返回expr2,否则返回expr3

二、查询

    1、多表查询

      union :返回不重复行(补)

      union all:返回所有行,包括重复行(并)

      intersect :两个查询都检索到的行(交)

      minus:返回第一个查询检索到的行减去第二个查询检索到的行所剩余的行(差)

   2、连接查询

--内连接
select dept.deptno,dname,enamefrom scott.dept,scott.emp where dept.deptno=emp.deptno;
--自连接
select manager.ename from scott.emp manager,scott.emp worker where manager.empno=work.mgr and worker.ename='SMITH';

三、事物处理

      commit:提交事务

update scptt.emp set sal= where ename='MARY';
commit;
select sal from scott.emp where ename='MARY';

      rollback:回滚事务

update scptt.emp set sal= where ename='MARY';
rollback;
select sal from scott.emp where ename='MARY';

      savepoint a:设置保存点 整个事务部回滚

      rollack to a :取消部分事务

      rollack :取消全部事务

    1、事物的属性

        原子性(A)、一致性(C)、隔离性(I)、持久性(D)

四、过程和函数

      1、存储过程(procedure)

create or replace procedure proc_name(v_empno number)
as
--内部变量
v_name varchar2();
begin
select scott.emp.ename into v_name from scott.emp where empno=v_empno;
dbms_output.put_line('员工信息'|| v_name);
end;
--调用存储过程
begin
proc_name();
end;

--删除存储过程
drop procedure proc_name

      2、函数

--函数
create or replace function func_name
return varchar2
as
begin
return 'xxxx';
end;
--调用函数
select func_name() from dual;
--删除函数
drop function func_name

  

        

    

Oracle 高级查询、事物、过程及函数的更多相关文章

  1. Oracle高级查询,事物,过程及函数

    一 数值函数 数值 abs,ceil,floor,round,trunc字符串 instr,substr SQL>SELECT 'ABS':'|| ABS(-12.3) FROM DUAL; 运 ...

  2. oracle高级查询(实例基于scott用户四张表)

    oracle高级查询(实例基于scott用户四张表) 分组查询 多表查询 子查询 综合实例 ====================================================== ...

  3. Oracle高级查询、事物、过程及函数

    一.SQL函数 1.分类:单行函数(日期.数值.转换.字符等),多行函数,也称为分组函数(max.min.avg.sum.row_number.rank等). 2.数值函数 abs(n):求数字n的绝 ...

  4. oracle中的创建过程,函数,包

    一.创建存储过程 存储过程是在oracle中存取完成特定业务逻辑的代码块.存储过程是命名块,匿名块不存在数据库中,命名块会存储到数据库中,匿名块每次运行都需要提前编译,命名块一次存储,只会编译一次.命 ...

  5. Oracle学习笔记(2)——过程和函数

    过程和函数统称为PL/SQL子程序,通过输入.输出参数或输入/输出参数与其调用者交换信息.他们是被命名的PL/SQL块,被编译后存储在数据库中,以备执行.因此,可以在数据库中直接按名称使用它们. 1. ...

  6. Oracle高级查询之OVER

    注释:为了方便大家学习和测试,所有的例子都是在Oracle自带用户Scott下建立的 oracel的高级用法:rank()/dense_rank() over(partition by ...orde ...

  7. Oracle高级查询之CONNECT BY

    为了方便大家学习和测试,所有的例子都是在Oracle自带用户Scott下建立的. Oracle中的select语句可以用start with ... connect by prior ...子句实现递 ...

  8. Oracle 高级查询

    Oracle SQL 一些函数用法 以下sql环境都是在 Oracle 11g/scott完成 Group by 与GROUP BY一起使用的关建字 GROUPING,GROUP SET,ROLLUP ...

  9. Oracle高级查询,over 用法

    注:标题中的红色order by是说明在使用该方法的时候必须要带上order by. 一.rank()/dense_rank() over(partition by ...order by ...) ...

随机推荐

  1. 第8章 装饰模式(Decorator Pattern)

    原文 第8章 装饰模式(Decorator Pattern) 概述: 装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象. ...

  2. Android Fragment 真正彻底的解决(下一个)

    转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 上篇博客中已经介绍了Fragment产生原因.以及一些主要的使用方 ...

  3. DirectX11 学习笔记3 - 创建一个立方体 和 轴

    该方案将在进一步的程序 面向对象. 独立的模型类.更像是一个框架. 其中以超过遇到了一个非常有趣的问题,.获得一晚.我读了好几遍,以找到其他的列子.必须放在某些功能Render里面实时更新,而不是仅仅 ...

  4. linux_apt-get 使用详解

    安装应用从互联网上下载查询时 用到,今天安装个 mysql 简化流程如下: apt-cache search mysql-server sudo apt-get install mysql-serve ...

  5. java 集装箱 arraylist 用法

    1. ArrayList概述: ArrayList 是一个数组队列.相当于 动态数组. 与Java中的数组相比.它的容量能动态增长.它继承于AbstractList.实现了List, RandomAc ...

  6. 代理模式与Android

    代理模式(Proxy) 一.   什么是代理模式 先来看看官方的说法,代理模式就是为其它对象提供一种代理,以控制对这个对象的訪问. 看来这个官方的说法的确有点官方,看了还是让人感觉不点不知所措,还是不 ...

  7. s性能优化方面的小知识

    总结的js性能优化方面的小知识 前言 一直在学习javascript,也有看过<犀利开发Jquery内核详解与实践>,对这本书的评价只有两个字犀利,可能是对javascript理解的还不够 ...

  8. Hadoop群集设置

    Hadoop群集设置 近期特别看了Hadoop的资料.感觉特别好,整理一下发在自己的博客上,希望对想了解集群的网友有所帮助. 參考资料:http://hadoop.apache.org/docs/r1 ...

  9. Robotium源码分析之Instrumentation进阶-attach

    在分析Robotium的运行原理之前,我们有必要先搞清楚Instrumentation的一些相关知识点,因为Robotium就是基于Instrumentation而开发出来的一套自动化测试框架.鉴于之 ...

  10. CSS中选择器优先级顺序实战讲解

    原文:CSS中选择器优先级顺序实战讲解 我们有些程序猿在给一个元素(比如div)应用样式的时候,会有一些疑问,为什么我写在后面的样式不能覆盖前面的样式呢,不是说CSS是层叠样式表吗? 如果你在开发中也 ...