Oracle高级查询,事物,过程及函数
一 数值函数
数值 abs,ceil,floor,round,trunc字符串 instr,substr
SQL>SELECT 'ABS':'|| ABS(-12.3) FROM DUAL;
运行结果:
ABS:12.3
SQL>SELECT 'CEIL'||CELI(5.3) FROM DUAL;
SQL>SELECT 'CEIL'||CELI(-5.3) FROM DUAL;
SQL>SELECT 'CEIL'||CELI(5) FROM DUAL;
运行结果:
CEIL:6
CEIL:-5
CEIL:5
SQL>SELECT 'FIOOR'||FIOOR(5.3) FROM DUAL;
SQL>SELECT 'FIOOR'||FIOOR(-5.3) FROM DUAL;
SQL>SELECT 'FIOOR'||FIOOR(5) FROM DUAL;
运行结果:
CEIL:5
CEIL:-6
CEIL:5
SQL>SELECT 'ROUND'||ROUND(1346.1233,0) FROM DUAL;
SQL>SELECT 'ROUND'||ROUND(1546.1233,-3) FROM DUAL;
SQL>SELECT 'ROUND'||ROUND(1346.1233,3) FROM DUAL;
运行结果:
ROUND:1346
ROUND:2000
ROUND:1346.1
SQL>SELECT 'TRUNC'||TRUNC(1346.1233,0) FROM DUAL;
SQL>SELECT 'TRUNC'||TRUNC(1546.1233,-3) FROM DUAL;
SQL>SELECT 'TRUNC'||TRUNC(1346.1233,2) FROM DUAL;
运行结果:
ROUND:1346
ROUND:1000
ROUND:1346.12
字符函数
字符型LOWER(CHAR)转化为小写
UPPER(CHAR)转化为大写
LENGTH(CHAR)返回字符串长度
LTRIM(CHAR[,SET])去掉char中的set
REPLACE替换
LTRIM 去掉左空格
RTRIM 去掉右空格
SUBSTR截取
转换
to_number() to_date() to_char() NVL() NVL2(),
SQL>SELECT 'to_number':'|| to_number('2000.22','999d9999') FROM DUAL;
运行结果:
to_number:2000.22
SQL>SELECT 'to_date':'|| to_date(sysdate,'dd-mm-yy') FROM DUAL;
运行结果:
to_date:13-12-13
SQL>SELECT 'to_char':'|| o_char('12-13-13','mm-dd-yy') FROM DUAL;
运行结果:
to_char:2013-12-13
SQL>SELECT 'NVL':'|| NVL(COMM,0) FROM SCOTT,EMP WHERE EMPNO=7369;
运行结果:
to_char:0
SQL>SELECT 'NVL2':'|| NVL2(COMM,0,1) FROM SCOTT,EMP WHERE EMPNO=7369;
运行结果:
to_char:1
时间函数
add_months months_between
分组函数
min max avg sum count
分析函数
row_number() over(order by 列) ,
多表查询
操作符 UNION(补) UNION ALL(并) INTERSECT(交) MINUS(差)
二 内,外连接 子查询 自连接 联合查询
内连接
select dept.deptno,dname,ename from scott.dept,scott.emp where dept.deptno=emp.deptno;
自连接
select manager.ename from scott.emp manager scott.emp worker where manager.deptno=worker.mgr and worker.ename='SMITH';
内连接/外链接
select table1.column,table2.column from table1[inner|left|right|full]join table2 on table1.column1=table2.column2;
事务
(ACID) saveppoint a commit(提交)、rollback(滚回去):
只要涉及到数据的增、删、改就会产生事物,事物要么执行提交,要么全部失败。
执行commit之后会释放在会话中所有的行和表锁。一旦执行就不能用rollback恢复。
自动提交事物:执行DDL(create table ,alter table ,drop table )、DCL(grant ,revoke)和退出SQL*plus时。
事物的ACID属性:原子性,一致性,隔离性,持久性
Oracle高级查询,事物,过程及函数的更多相关文章
- oracle高级查询(实例基于scott用户四张表)
oracle高级查询(实例基于scott用户四张表) 分组查询 多表查询 子查询 综合实例 ====================================================== ...
- Oracle 高级查询、事物、过程及函数
一.Sql函数 1.数值函数(输入参数和返回值都是数值型,多数函数精确到38位) --多少次方 ,) from dual; --开方 ) from dual; --绝对值 ) from dual; - ...
- Oracle高级查询、事物、过程及函数
一.SQL函数 1.分类:单行函数(日期.数值.转换.字符等),多行函数,也称为分组函数(max.min.avg.sum.row_number.rank等). 2.数值函数 abs(n):求数字n的绝 ...
- oracle中的创建过程,函数,包
一.创建存储过程 存储过程是在oracle中存取完成特定业务逻辑的代码块.存储过程是命名块,匿名块不存在数据库中,命名块会存储到数据库中,匿名块每次运行都需要提前编译,命名块一次存储,只会编译一次.命 ...
- Oracle学习笔记(2)——过程和函数
过程和函数统称为PL/SQL子程序,通过输入.输出参数或输入/输出参数与其调用者交换信息.他们是被命名的PL/SQL块,被编译后存储在数据库中,以备执行.因此,可以在数据库中直接按名称使用它们. 1. ...
- Oracle高级查询之OVER
注释:为了方便大家学习和测试,所有的例子都是在Oracle自带用户Scott下建立的 oracel的高级用法:rank()/dense_rank() over(partition by ...orde ...
- Oracle高级查询之CONNECT BY
为了方便大家学习和测试,所有的例子都是在Oracle自带用户Scott下建立的. Oracle中的select语句可以用start with ... connect by prior ...子句实现递 ...
- Oracle 高级查询
Oracle SQL 一些函数用法 以下sql环境都是在 Oracle 11g/scott完成 Group by 与GROUP BY一起使用的关建字 GROUPING,GROUP SET,ROLLUP ...
- Oracle高级查询,over 用法
注:标题中的红色order by是说明在使用该方法的时候必须要带上order by. 一.rank()/dense_rank() over(partition by ...order by ...) ...
随机推荐
- 数据结构(主席树):COGS 2211. 谈笑风生
2211. 谈笑风生 ★★★★ 输入文件:laugh.in 输出文件:laugh.out 简单对比时间限制:3 s 内存限制:512 MB [问题描述] 设T 为一棵有根树,我们做如下 ...
- 【中途相遇法】【STL】BAPC2014 K Key to Knowledge (Codeforces GYM 100526)
题目链接: http://codeforces.com/gym/100526 http://acm.hunnu.edu.cn/online/?action=problem&type=show& ...
- Oracle用户管理
创建用户 概述:在oracle中要创建一个新的用户使用create user 语句,一般是具有dba(数据库管理员)的权限才能使用. create user 用户名 identified by 密码: ...
- vim 的升级 安装 重装
转载自http://blog.chinaunix.net/uid-22891521-id-2109310.html 由于一直以来在一个很old的linux版本下搞开发,里面的vim固然也是一个很old ...
- Entity Framwork db First 中 Model验证解决办法。
由于项目中用到 Entity Framwork db First 每次从数据库生成数据模型之后都会把模型更新. 只要有一个表更新.所有的类都会重新生成. 在网上找了各种例子都是差不多的, 可能 ...
- python 几种常见的测试框架
1. unittest 参考文档: https://docs.python.org/3/library/unittest.html The unittest unit testing framewor ...
- Redis sort命令
http://www.cnblogs.com/linjiqin/archive/2013/06/14/3135921.html 1.添加 投票选项到 redis的 List 和HashMap lis ...
- iOS开发zhiATM机的设计与实现
// // main.m // ATM // #import <Foundation/Foundation.h> #import "ATM.h" #import &qu ...
- RSA体系 c++/java相互进行加签验签--转
在web开发中,采用RSA公钥密钥体系自制ukey,文件证书登陆时,普遍的做法为:在浏览器端采用c++ activex控件,使用 c++的第三库openssl进行RAS加签操作,在服务器端采用java ...
- 深入分析 Java 中的中文编码问题--转
几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言 ...