oracle数据库使用小结
select * from r_patient a where a.birthdate= to_date('1953-03-01','yyyy-mm-dd');
select * from r_patient  where  to_char(birthdate,'yyyy-mm-dd')= '1953-03-01';
1.日期格式转换
select * from V_Stat_CheckFee where CONTENT_DATE between to_date('20170711','yyyymmdd') and to_date('20170718','yyyymmdd') ;
to_char(ENROLDATE,'yyyy-mm-dd');
between to_date('2017-09-28 00:00:00','YYYY-MM-DD HH24:MI:SS') and to_date('2017-09-28 23:59:59','YYYY-MM-DD HH24:MI:SS');
to_char(REQ_DATE_TIME,'yyyy-mm-dd')>= '2017-07-30' and to_char(REQ_DATE_TIME,'yyyy-mm-dd')<='2017-10-12';
STATUS<>'已预约';
STUDY_DATE >= to_date('2017-09-28 00:00:00','YYYY-MM-DD HH24:MI:SS')
and STUDY_DATE <= to_date('2017-09-28 23:59:59','YYYY-MM-DD HH24:MI:SS')
select count(*) from ...
select to_char(sysdate, 'yyyy-MM-dd HH24:mi:ss ') from dual;//mi是分钟 2013-11-25 18:45:32 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')currenttime,
to_char(sysdate,'yyyy') year,
to_char(sysdate,'mm') month,
to_char(sysdate,'dd') day,
to_char(sysdate,'day') week,
to_char(sysdate,'hh24')hour,
to_char(sysdate,'mi') minute,
to_char(sysdate,'ss') second
from dual; select to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss')currenttime,
to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'yyyy')year,
to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'mm')month,
to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'dd') day,
to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'day') week,
to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'day','NLS_DATE_LANGUAGE=American') week, --设置语言
to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'hh24')hour,
to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'mi') minute,
to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'ss') second
from dual; 2.修改添加数据库字段
alter table qs_queuebusiness modify(APPOINTTIME varchar(100));
alter table qs_queuebusiness Add(APPOINTTIME varchar(100)); 3.日期格式参数及其含义说明
D 一周中的星期几
DAY 天的名字,使用空格填充到9个字符
DD 月中的第几天
DDD 年中的第几天
DY 天的简写名
IW ISO标准的年中的第几周
IYYY ISO标准的四位年份
YYYY 四位年份
YYY,YY,Y 年份的最后三位,两位,一位
HH 小时,按12小时计
HH24 小时,按24小时计
MI 分
SS 秒
MM 月
Mon 月份的简写
Month 月份的全名
W 该月的第几个星期
WW 年中的第几个星期 4.日期时间间隔操作
当前时间减去7分钟的时间
select sysdate,sysdate - interval '7' MINUTE FROM dual;
当前时间减去7小时的时间
select sysdate,sysdate - interval '7' HOUR FROM dual;
当前时间减去7天的时间
select sysdate,sysdate - interval '7' DAY FROM dual;
当前时间减去7月的时间
select sysdate,sysdate - interval '7' MONTH FROM dual;
当前时间减去7年的时间
select sysdate,sysdate - interval '7' YEAR FROM dual;
时间间隔乘以一个数字
select sysdate,sysdate - 8*interval '2' HOUR FROM dual; 5.日期到字符操作
select sysdate,to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual
select sysdate,to_char(sysdate,’yyyy-mm-dd hh:mi:ss’) from dual
select sysdate,to_char(sysdate,’yyyy-ddd hh:mi:ss’) from dual
select sysdate,to_char(sysdate,’yyyy-mm iw-d hh:mi:ss’) from dual
参考oracle的相关关文档(ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515) 6.字符到日期操作
select to_date(’2003-10-17 21:15:37’,’yyyy-mm-dd hh24:mi:ss’) from dual
具体用法和上面的to_char差不多。 7.case......when...用法
select cardid, name, org,
case when gender='1' then '女' when gender='2' then '男' else '其他' end gender
from reader where name like 'm%'; case when length(b.BUSINESSID)<2 then c.queuesign||'00'||b.BUSINESSID
when length(b.BUSINESSID)<3 then c.queuesign||'0'||b.BUSINESSID
else c.queuesign||b.BUSINESSID end BUSINESSID,
select t.enroldate,t.calltype,
case 
     when to_char(t.enroldate,'hh24:mi:ss')<'13:00:00' then '1'
     else  '2'
end CAllTYPE
from qs_queuebusiness  t
注意:oracle中||表示字符串拼接

8.orcale中top的用法(类似sql)
select * from tablename where rownum=1;
select * from (select rownum rn, a.* from tablename a) t where t.rn between 2 and 10;
--查询数据、生成编号列、并根据指定列进行排序
select rownum rowno,a.* from (select * from qs_queuebusiness  order by sortno) a
注意:
1、ROWNUM是伪列,必须要要有返回结果后,每条返回记录就会对应产生一个ROWNUM数值;
2、返回结果记录的ROWNUM是从1开始排序的,因此第一条始终是1;
3.如果需要添加编号列,则可使用容我ROWNUM列,例如:select rownum rowno, a.* from tablename a;
9.DUAL 表 该表主要目的是为了保证在使用SELECT语句中的语句的完整性而提供的。 一般用于验证函数:
select sysdate,to_char(sysdate,'yyyy-mm-dd HH24:mi:ss')as time from dual;
select sysdate from dual;
10.查询某个字段返回长度--length()函数用法
select length(queueid) from tableName;
select length(a.patname),a.* from tableName a 11.oracle中substr函数的用法
substr(字符串,截取开始位置,截取长度) //返回截取的字
substr('Hello World',0,1) //返回结果为 'H' *从字符串第一个字符开始截取长度为1的字符串
substr('Hello World',1,1) //返回结果为 'H' *0和1都是表示截取的开始位置为第一个字符
substr('Hello World',2,4) //返回结果为 'ello'
substr('Hello World',-3,3)//返回结果为 'rld' *负数(-i)表示截取的开始位置为字符串右端向左数第i个字符
测试:
select substr('Hello World',-3,3) value from dual;
执行效果如下所示:

12.instr()函数的用法?
--instr(源字符串,目标字符串,起始字符串,匹配字符串)=返回要截取的字符串在源字符串中的位置,从字符的开始,只检索一次
--instr(string1,string2,index1,index2) 表示:要在string1的index1号位置,开始查找,第index2次,出现的string2
select instr('miaoying','i',2,2) from dual;--返回6:也就是说:在"miaoying"的第2号位置开始,查找第二次出现的i的位置
select instr('miaoying','k',2,2)from dual;--返回0:即如果查找不到,则返回0
select instr('miaoying','i') from dual;--返回2
select instr('miaoying','yi') from dual;--返回5:即"yi"的y的位置
select instr('miaoying','i',-1,2) from dual;--返回2:
13. oracle中系统函数?
terminal 当前会话客户所对应的终端标识符——返回当前登录用户
select sys_context('USERENV','terminal') from dual;

db_name 当前的数据库实例名称
select sys_context('USERENV','db_name') from dual;

language 语言——返回当前oracle字符集
select sys_context('USERENV','language') from dual;

session_user 当前会话所对应的数据库
select sys_context('USERENV','session_user') from dual;

current_schema:查看当前方案
select sys_context('USERENV','current_schema') from dual;

14.根据日期获取年龄
注意:四舍五入(非四舍五入,应为进一法)


--查看oracle数据库所有用户
SELECT * FROM all_users;
--查询oracle数据库系统当前用户下的所有对象
select * from tab;
--查看oracle数据库下当前用户的默认表空间
SELECT username, default_tablespace FROM user_users;
--查找用户的默认表空间命令为
SELECT username, default_tablespace FROM dba_users;
10.字符集设置
regedit==>
SIMPLIFIED CHINESE_CHINA.ZHS16GBK 或 AMERICAN_AMERICA.US7ASCII ......

11.数据库表数据合并(多行数据合并为一行)
select * from (select To_char(wmsys.wm_concat(a.appointnum))as appointnum,To_char(wmsys.wm_concat(a.direction))as direction
 from queuedetail a where a.appointsid='015cfab6-9543-46b2-842f-534c4fef7b1e'  )  b
oracle数据库使用小结的更多相关文章
- [转]Oracle数据库ASH和AWR的简单介绍
		
在Oracle数据库中,有时我们可能会遇到这样的术语:ASH和AWR,那么它们是怎样产生的呢?它们的作用又是什么呢?本文我们就来介绍这一部分内容. 1.10g之前 用户的连接将产生会话,当 ...
 - 细说Oracle数据库与操作系统存储管理二三事
		
在上大学的时候,学习操作系统感觉特别枯燥,都是些条条框框的知识点,感觉和实际应用的关联不大.发现越是工作以后,在工作中越想深入了解,发现操作系统知识越发重要.在实践中结合理论还是不错的一种学习方法.自 ...
 - 45个非常有用的 Oracle 查询语句小结
		
45个非常有用的 Oracle 查询语句小结 这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询.这些是所有 ...
 - ORACLE数据库学习之逻辑结构
		
 逻辑结构 数据库逻辑结构包含表空间.段.范围(extent).数据块和模式对象. (一)表空间 一个数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间类似于sybase下的设备.(TABLES ...
 - 转://Linux大内存页Oracle数据库优化
		
PC Server发展到今天,在性能方面有着长足的进步.64位的CPU在数年前都已经进入到寻常的家用PC之中,更别说是更高端的PC Server:在Intel和AMD两大处理器巨头的努力下,x86 C ...
 - oracle数据库链路和同义词
		
Oracle数据库链路的建立和使用 先来一个例子: --创建数据库链路create public database link xaffdblink connect to zdcl identi ...
 - oracle数据库启动和关闭方式
		
Oracle数据库是重量级的,其管理非常复杂,将其在Linux平台上的启动和关闭步骤整理一下. 安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_p ...
 - Oracle 数据库逻辑结构2.md
		
Oracle 数据库逻辑结构一.存储关系Oracle 数据库逻辑上是由一个或多个表空间组成的,表空间物理上是由一个或多个数据文件组成的:而在逻辑上表空间又是由一个或多个段组成的.在Oracle 数据库 ...
 - oracle 数据库链路
		
Oracle数据库链路的建立和使用 一.数据库链路的建立: 1.数据库链路的建立语法一般是:CREATE DATABASE LINK[db_link_name] CONNECT TO [user_na ...
 
随机推荐
- JavaScript Dom基础-9-Dom查找方法;  设置DOM元素的样式;   innerHTML属性的应用;  className属性的应用;     DOM元素上添加删除获取属性;
			
JavaScript Dom基础 学习目标 1.掌握基本的Dom查找方法 domcument.getElementById() Domcument.getElementBy TagName() 2.掌 ...
 - py解释器PC
			
pycharm激活方法: 今天更新了一下pycharm,结果之前的激活就不能用了,下面是激活方法: 1.mac下在终端进入etc目录: cd /etc 2.编辑hosts文件: vi hosts 将“ ...
 - Android动态添加Device Admin权限
			
/********************************************************************** * Android动态添加Device Admin权限 ...
 - 10.我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。  请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
			
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形. 请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 是不是发现看不懂,哈哈:编程题就是这样,一定要归纳,手写过程: n ...
 - guling code细节
			
detect_hand.py 分水岭算法: 任何一幅灰度图像都可以被看成拓扑平面,灰度值高的区域可以被看成是山峰,灰度值低的区域可以被看成是山谷.我们向每一个山谷中灌不同颜色的水,随着水的位的升高,不 ...
 - 20155208徐子涵 2016-2017-2 《Java程序设计》第4周学习总结
			
20155208徐子涵 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 继承与多态 继承 继承作为面向对象的第二大特征,基本上就是避免多个类间重复定义 ...
 - php 中使用正则
			
1.匹配一个由一个小写字母和一位数字组成的字符串,比如”z2″ 用^[a-z][0-9]$ 2.当在一组方括号里使用^是,它表示“非”或“排除”的意思 比如要求第一个字符不能是数字:^[^0- ...
 - 深入学习Motan系列(一)——入门及知识zookeeper储备
			
背景以及说明: 最近逮到个RPC框架,打算深入学习,框架千千万,只有懂得内部原理,才能应对复杂的业务,进行自定义化系统. 这个系列的Motan文章也是自己慢慢摸索的轨迹,将这个过程记录下来,一是提升自 ...
 - myBatis框架的配置部分
			
第一步:导包. 第二步:配置部分(第一部分) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...
 - day39机器学习
			
2 Numpy快速上手 2.1. 什么是Numpy Numpy是Python的一个科学计算的库 主要提供矩阵运算的功能,而矩阵运算在机器学习领域应用非常广泛 Numpy一般与Scipy.matplot ...