oracle数据库使用学习

原创 2016年08月31日 11:49:34

1.查询时间字段问题:

用sql语句查询的时候,需要将字符串转换,to_timestamp或者to_date

where insert_time>to_timestamp('2013-08-01 00:00:00','yyyy-mm-dd hh24:mi:ss')

2.树操作(select…start with…connect by…prior)

http://www.cnblogs.com/linjiqin/archive/2013/06/24/3152674.html

connect by prior m.parent=m.id; 是查询所有的父节点

connect by m.parent=prior m.id; 是查询所有的子节点

level,connect_by_root,connect_by_isleaf,sys_connect_by_path,lpad(' ', (level-1)*2, ' ')补空格

3.in()中的对象不能超过1000个,超过了就只能自己拆分

where  a in(...) or a in(...)

4.行列转换,oracle的转换方式比较多,常规的数据库都是使用case when才能实现

1)数据库常规方法:

a.concat和||进行字段拼接

b.WMSYS.WM_CONCAT进行分隔拼接 

c.case when语句

2) oracle自带函数,用起来都很简单,可以根据具体的使用情况来进行选择

a.DECODE函数-DECODE(value,if1,then1,if2,then2,if3,then3,...,else)

sum(decode(....)) ... group by...

b.在Oracle 11g中,Oracle 又增加了2个查询:pivot(行转列) 和unpivot(列转行)

c.列转行函数 Listagg(),  LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX)

5.字段合并和group by冲突,前面如果对字段进行了合并操作,再次对该字段进行group by的时候必须也要进行合并操作

select a||b from table1 group by a(错误)

select concat(a,b) from table1 group by a(错误)

select a||b from table1 group by a||b (正确)

select concat(a,b) as c from table1 group by concat(a,b)(正确)

oracle中group by的字段必须在select中全部明确的查询出来

版权声明:本文为博主原创文章,未经博主允许不得转载。

jbpm学习笔记(七)——使用oracle数据库

在之前我们所做的例子中所使用的数据库都是jbpm4自带的数据库,这里我们将会使用oracle数据库来实现对流程信息的存储。 1、jbpm数据库连接原理 jbpm使用Hibernate来连接数据库,...

ORACLE数据库教程-SQL学习篇

  • 2014年12月20日 08:39
  • 2.18MB
  • 下载

ORACLE数据库学习之逻辑结构

逻辑结构   数据库逻辑结构包含表空间、段、范围(extent)、数据块和模式对象。 (一)表空间 一个数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间类似于sybase下的设备。(TAB...

oracle数据库学习

  • 2014年09月16日 14:59
  • 5KB
  • 下载

c#中odp.net 4.0利用odac操作oracle数据库学习(五)

c#中odp.net 4.0利用odac操作oracle数据库学习(五) 简介:上篇文章中我们讲述了对RawImageMetaData业务操作类的封装就完成了,          接下来我们需...

Oracle数据库学习 06Days

  • 2014年01月26日 17:18
  • 34KB
  • 下载

Oracle数据库学习的小结-1

Oracle数据库监听配置   一、监听器(LISTENER)   监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle数据库使用学习
举报原因:
原因补充:

(最多只允许输入30个字)