
Oracle数据库
马大头
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Oracle SQL函数pivot、unpivot转置函数实现行转列、列转行
函数PIVOT、UNPIVOT转置函数实现行转列、列转行,效果如下图所示:1.PIVOT为行转列,从图示的左边到右边2.UNPIVOT为列转行,从图示的右边到左边3.左边为纵表,结构简单,易扩展4.右边为横表,展示清晰,方便查询5.很多时候业务表为纵表,但是统计分析需要的结果如右边的横表,这时候就需要用到转置函数了示例图表:转载 2018-02-06 18:24:45 · 2317 阅读 · 0 评论 -
Oracle SQL性能优化
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表转载 2017-08-25 09:13:22 · 246 阅读 · 0 评论 -
MySQL及Oracle中将varchar类型转换成int类型
select * from gyzd_yysinfo order by cast(yysid as SIGNED INTEGER)或者select * from gyzd_yysinfo order by cast(yysid as UNSIGNED INTEGER)转载 2017-08-10 14:44:33 · 11928 阅读 · 0 评论 -
oracle小数格式化后,小数点前面没有0等问题
to_char(num,'fm999999990.999999999')to_char(num,'fm999999990.000000000')总之进行0,9的切换尝试组合就行了如果有时出现 0.% 后面就没有了的情况可以用replace函数 replace('.%','.00%')转载 2017-08-16 11:54:41 · 9028 阅读 · 1 评论 -
oracle排序时指定某些值在最前或最后以及针对null值的处理
适用情况:oracle 对查询结果进行排序时,被排序的栏位存在null值,且要指定NULL值排在最前面或者最后面关键字:Nulls First;Nulls Last默认情况:null 默认为最大值(即:asc 升序大>,null值排在最后;desc 降序小>,null值排在最前面)指定:1.Oracle Order by支持的语法2.指定Nulls first 则表示null值的记录将排在转载 2017-08-16 17:41:59 · 3612 阅读 · 1 评论 -
Oracle中使用了Union后的排序问题
最近使用SQL语句进行UNION查询,惊奇的发现:SQL没问题,UNION查询也没问题,都可以得到想要的结果,可是在对结果进行排序的时候,却出问题了。1.UNION查询没问题[sql] view plain copySELECT `id`,`username`,`mobile`,`time`,id AS leader FROM `转载 2017-08-16 17:29:51 · 14046 阅读 · 0 评论 -
Oracle数据库,数字强制显示2位小数
在银行、财务等对数字要求敏感的系统中,数字的显示一般有着严格的要求。今遇到一个需求,如题,要求将数字以两位小数的格式显示,如果没有小数,则强制显示为0。例如:123.4 显示为 123.4012 显示为 12.000 显示为 0.00本以为这是个比较简单的问题,Oracle本身提供了to_char函数,带有格式化功能,能够满足条件:转载 2017-08-16 11:30:32 · 1010 阅读 · 0 评论 -
Oracle中 to_date()函数用法详解
TO_DATE格式(以时间:2007-11-02 13:45:25为例)Year:yy two digits 两位年 显示值:07yyy three digits 三位年 显示值:007yyyy four digits 四位年 显示值:2007Month:mm转载 2017-07-20 14:10:01 · 15367 阅读 · 0 评论 -
较为全面的Oracle函数总结
附录:1、SQL 简介2、SQL 操作符3、Oracle 常用数据类型4、Oracle 函数5、[转] Oracle 常用SQL语法字符串函数LENGTH() 字符长度LENTTHB() 字节长度;一个汉字内存中占用 2字节LTRIM、RTRIM、TRIM截串SUBSTR(表达式,位置,长度)Oracle 无左右取串函转载 2017-05-17 17:17:57 · 469 阅读 · 0 评论 -
Oracle笔记(八) 复杂查询及总结
一、复杂查询1、 列出至少有一个员工的所有部门编号、名称,并统计出这些部门的平均工资、最低工资、最高工资。1、确定所需要的数据表:emp表:可以查询出员工的数量;dept表:部门名称;emp表:统计信息;2、确定已知的关联字段:emp.deptno=dept.deptno; 第一步:找出至少有一个员工的部门编号SELECT deptno转载 2017-05-15 10:17:49 · 1188 阅读 · 0 评论 -
ORA-01830: 日期格式图片在转换整个输入字符串之前结束
ORA-01830: 日期格式图片在转换整个输入字符串之前结束 问题:varchar2类型转换成date类型select to_date(INVOICE_DATE,'yyyy-mm-dd') from tab; --INVOICE_DATE varchar2(30)提示 ORA-01830: 日期格式图片在转换整个输入字符串之前结束 错误最后查的原因:INVOICE_DATE=转载 2017-08-22 11:19:34 · 515 阅读 · 0 评论 -
Oracle中 delete,truncate,drop的区别
语法delete from aa truncate table aa 区别 1.delete from后面可以写条件,truncate不可以。2.delete from记录是一条条删的,所删除的每行记录都会进日志,而truncate一次性删掉整个页,因此日至里面只记录页释放,简言之,delete from更新日志,truncate基本不,所用的事务日志空间较少。转载 2017-08-15 14:24:01 · 223 阅读 · 0 评论 -
纵表与横表互转实例
纵表与横表互转实例1.纵表转横表:纵表结构:Table1转换后的横表结构:Sql示例代码:1234567891011select username, sum(case Course when '语文' the转载 2018-02-06 16:38:55 · 1730 阅读 · 0 评论 -
MyBatis动态SQL详解
MyBatis中用于实现动态SQL的元素主要有:ifchoose(when,otherwise)trimwheresetforeachif就是简单的条件判断,利用if语句我们可以实现某些简单的条件选择。先来看如下一个例子: XML代码事例[java] view plain copy"dynamicIfT转载 2018-02-02 09:44:25 · 373 阅读 · 0 评论 -
PL/SQL中执行字符串SQL(表名)--execute immediate的简单用法(oracle)
在实际情况中, 我们往往需要根据不同的条件来动态设置表名, 这里直接用字符串对表名进行拼接是错误的做法,可以尝试在pl/sql中使用以下方法:转自:https://www.cnblogs.com/zj0208/p/6088097.htmlexecute immediate的简单用法(oracle)直接上示例代码:create or rep转载 2018-01-15 14:08:49 · 3896 阅读 · 0 评论 -
Oracle去除重复(某一列的值重复),取最新(日期字段最新)的一条数据
转自 : http://blog.youkuaiyun.com/nux_123/article/details/45037719问题:在项目中有一张设备检测信息表DEVICE_INFO_TBL, 每个设备每天都会产生一条检测信息,现在需要从该表中检索出每个设备的最新检测信息。也就是device_id字段不能重复,消除device_id字段重复的记录,而且device_id对应的检测信息te转载 2017-11-17 15:34:27 · 41898 阅读 · 6 评论 -
ORACLE数据库表解锁record is locked by another user
转自 : https://www.cnblogs.com/xusweeter/p/5942852.html今天同事在操作Oracle数据库表删数据时突然断网,再次连接的时候删数据就提示“record is locked by another user”,然后就百度找到了如下解决方案。方案步骤:1、查锁select t2.username,t2.sid,t转载 2017-11-13 15:41:25 · 492 阅读 · 0 评论 -
oracle数据类型和对应的Java类型
地址:http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/java.102/B19275-03/datacc.htm#BHCJBJCCSQL数据类型JDBC类型代码标准的Java类型Oracle扩展的Java类型 1.0标准的JDBC类型:转载 2017-10-24 18:08:01 · 1371 阅读 · 0 评论 -
ORACLE基本数据类型总结
ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型、数字类型、日期类型、LOB类型、LONG RAW& RAW类型、ROWID & UROWID类型。在讲叙字符串类型前,先要讲一下编码。字符串类型的数据可依编码方式分成数据库字符集(CHAR/VARCHAR2/CLOB/LONG)和国际字符集(NCHAR/NVARCHAR2/NCLOB)转载 2017-10-24 18:07:24 · 316 阅读 · 0 评论 -
Oracle 数据库导入导出 dmp文件
首先询问对方数据库的表空间名称和大小,然后在你的oracle中建立相应表空间,最后使用命令导入、导出数据。补充:1.要新建一个数据库;Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数转载 2017-09-27 11:29:09 · 382 阅读 · 0 评论 -
PLSQL Developer实现数据库间表结构和数据对比和同步
PLSQL Developer Tools菜单下有Compare User Objects和Compare Table Data功能。1、Tools --> compare user objects 该功能用于比较不同用户所拥有的对象(包括table、sequence、function、procedure、view等),并生成同步差异的sql脚本,用户通过执行该脚本,可转载 2017-09-27 10:03:42 · 2972 阅读 · 0 评论 -
SQL四种语言:DDL,DML,DCL,TCL
1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema.DDL是SQL语言的四大功能之一。用于定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束DDL不需要commit.CR转载 2017-06-27 09:16:55 · 409 阅读 · 0 评论 -
powerdesigner连接数据库 导出数据 生成PDM文件
转载 2017-05-15 09:25:04 · 3531 阅读 · 0 评论 -
DQL,DML,DDL,DCL语言
SQL(Structure Query Language)语言是数据库的核心语言。SQL的发展是从1974年开始的,其发展过程如下:1974年-----由Boyce和Chamberlin提出,当时称SEQUEL。1976年-----IBM公司的Sanjase研究所在研制RDBMS SYSTEM R时改为SQL。1979年-----Oracle公司发表第一个基于SQL的商转载 2017-05-12 16:59:39 · 416 阅读 · 0 评论 -
Oracle笔记(七) 数据更新、事务处理、数据伪列
Oracle分页转载 2017-05-15 10:16:58 · 338 阅读 · 0 评论 -
Oracle笔记(三) Scott用户的表结构
在Oracle的学习之中,重点使用的是SQL语句,而所有的SQL语句都要在scott用户下完成,这个用户下一共有四张表,可以使用:SELECT * FROM tab;查看所有的数据表的名称,如果现在要想知道每张表的表结构,则可以采用以下的命令完成:DESC 表名称;1、 部门表:dept№名称类型描述转载 2017-05-15 10:13:20 · 678 阅读 · 0 评论 -
Oracle笔记(十六) 数据库设计范式
数据库设计范式是一个很重要的概念,但是这个重要程度只适合于参考。使用数据库设计范式,可以让数据表更好的进行数据的保存,因为再合理的设计,如果数据量一大也肯定会存在性能上的问题。所以在开发之中,唯一可以称为设计的宝典 —— 设计的时候尽量避免日后的程序出现多表关联查询。一、第一范式所谓的第一范式指的就是数据表中的数据列不可再分。例如,现在有如下一张数据表:CREA转载 2017-05-15 10:26:00 · 400 阅读 · 0 评论 -
Oracle笔记(十五) 数据库备份
数据库的备份操作是在整个项目运行中最重要的工作之一。一、数据的导出和导入数据的导出和导入是针对于一个用户的备份操作,可以按照如下的方式完成:1、 数据的导出在硬盘上建立一个文件夹:c:\backup;输入exp指令;输入用户名和密码;设置导出文件的名称:导出文件: EXPDAT.DMP;2、 数据的导入先将表删除干净;进入转载 2017-05-15 10:24:53 · 277 阅读 · 0 评论 -
Oracle笔记(十四) 用户管理
SQL语句分为三类:DML、DDL、DCL,之前已经讲解完了DML和DDL,现在就差DCL操作的,DCL主要表示的是数据库的控制语句,控制的就是操作权限,而在DCL之中,主要有两个语法:GRANT、REVOKE;权限的操作基础是需要有用户的,而这个时候就需要通过一个新的用户进行演示,而要想创建新用户则首先必须是具备管理员权限的sys、system两个用户操作。范例:创建一个dog用转载 2017-05-15 10:24:07 · 357 阅读 · 0 评论 -
Oracle笔记(十三) 视图、同义词、索引
一、视图在之前所学习过的所有的SQL语法之中,查询操作是最麻烦的,如果程序开发人员将大量的精力都浪费在查询的编写上,则肯定影响代码的工作进度,所以一个好的数据库设计人员,除了根据业务的操作设计出数据表之外,还需要为用户提供若干个视图,而每一个视图包装了一条条复杂的SQL语句,视图的创建语法如下:CREATE [OR REPLACE] VIEW 视图名称 AS 子查询;转载 2017-05-15 10:22:56 · 303 阅读 · 0 评论 -
Oracle笔记(十一) 建表、更新、查询综合练习
有某个学生运动会比赛信息的数据库,保存了如下的表:运动员sporter(运动员编号sporterid,运动员姓名name,运动员性别sex,所属系号department)项目item(项目编号itemid,项目名称itemname,项目比赛地点location)成绩grade(运动员编号id,项目编号itemid,积分mark)请用SQL语句完成如下功能:1、 建表,并在转载 2017-05-15 10:20:02 · 567 阅读 · 0 评论 -
Oracle笔记(九) 表的创建及管理
对于数据库而言实际上每一张表都表示的是一个数据库的对象,而数据库对象指的就是DDL定义的所有操作,例如:表、视图、索引、序列、约束等等,都属于对象的操作,所以表的建立就是对象的建立,而对象的操作主要分为以下三类语法:创建对象:CREATE 对象名称 …;删除对象:DROP 对象名称 …;修改对象:ALTER 对象名称 …;一、常用的数据字段每一张数据表实际上都是由若干个字段转载 2017-05-15 10:18:24 · 338 阅读 · 0 评论 -
Oracle笔记(二) SQLPlus命令
对于Oracle数据库操作主要使用的是命令行方式,而所有的命令都使用sqlplus完成,对于sqlplus有两种形式。一种是dos风格的sqlplus:sqlplus.exe;另一种是windows风格的sqlplus:sqlplusw.exe;在Oracle 10g之中主要使用的是sqlplusw命令,因为其可以进行一些显示数据的调整。 此时会找到默认的已经转载 2017-05-15 10:11:58 · 349 阅读 · 0 评论 -
Oracle笔记(十) 约束
表虽然建立完成了,但是表中的数据是否合法并不能有所检查,而如果要想针对于表中的数据做一些过滤的话,则可以通过约束完成,约束的主要功能是保证表中的数据合法性,按照约束的分类,一共有五种约束:非空约束、唯一约束、主键约束、检查约束、外键约束。一、非空约束(NOT NULL):NK当数据表中的某个字段上的内容不希望设置为null的话,则可以使用NOT NULL进行指定。范例:定义转载 2017-05-15 10:19:06 · 283 阅读 · 0 评论 -
oracle中extract()函数
//oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分 //语法如下: EXTRACT ( {YEAR |MONTH |DAY |HOUR |MINUTE |SECOND } | { TIMEZONE_H转载 2017-05-26 17:11:57 · 464 阅读 · 0 评论 -
JavaWeb项目同时配置MySQL和Oracle
原Oracle数据库的项目同时兼容MySql步骤:(一)修改资源配置文件applicationContext-dataSource.xml的数据库连接Oracle数据库中加上from dual的原因:Oracle数据库中自带了一个虚拟表dual,这个的作用是测试数据库是否正常使用。 (二)添加一个类用于获取资源配置文件中当前使用的数据库类型以及该方法转载 2017-06-13 09:10:17 · 8180 阅读 · 1 评论 -
主键&外键
一、什么是主键、外键:关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个主键 课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是一个主键 成绩表(学号,课程号,成绩) 成绩表中单一一个属性无法唯一标识转载 2017-06-09 15:35:33 · 661 阅读 · 0 评论 -
Oracle中正则表达式使用小记
比如我们查询出的数据为以下五条: 110kV 220kV 60kV 500kV 合计 我们想让其根据电压从大到小排序并且把"合计"排在最后………… order by regexp_replace('220kV','[^0-9]')//220regexp_substr("220kV", '[0-9]*[0-原创 2017-06-07 14:29:42 · 1164 阅读 · 0 评论 -
数据库表设计的三大范式
关系表的规范化规范化主要是决定关系表应该拥有哪些属性,其目的是创建良好结构的关系表,去除关系表中的重复数据,去除关系表中的不一致的依赖性,避免在新增、删除或者更新数据时造成错误或者数据不一致的异常情况。关系表的规范化首要工作是处理主键与属性之间的“功能依赖”,它是三级范式的基础。第一范式第一范式(1NF),是指在关系表中删除多值和复合属性,让关系表只拥有单元值属性。例如转载 2017-06-01 11:36:28 · 1056 阅读 · 0 评论 -
Oracle笔记(六) 多表查询
Oracle笔记(六) 多表查询本次预计讲解的知识点1、 多表查询的操作、限制、笛卡尔积的问题;2、 统计函数及分组统计的操作;3、 子查询的操作,并且结合限定查询、数据排序、多表查询、统计查询一起完成各个复杂查询的操作;一、多表查询的基本概念在之前所使用的查询操作之中,都是从一张表之中查询出所需要的内容,那么如果现在一个查询语句需要显示多张表的数据,则就必转载 2017-04-01 15:46:20 · 1578 阅读 · 0 评论