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:32select 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.BUSINESSIDwhen length(b.BUSINESSID)<3 then c.queuesign||'0'||b.BUSINESSIDelse c.queuesign||b.BUSINESSID end BUSINESSID,
注意: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
转载于:https://www.cnblogs.com/YYkun/p/7878257.html
oracle数据库使用小结相关推荐
- Oracle数据库知识小结
2019独角兽企业重金招聘Python工程师标准>>> 1. 对于日期型数据, 做 *, / 运算不合法 2. 包含空值的数学表达式的值都为空值 3. oracle 中连接字符串使用 ...
- oracle实验报告2:: Oracle数据库物理存储结构管理(含实验小结)
目录 实验目的 实验设备及器材 实验内容 实验步骤 实验过程 实验小结 实验目的 1.熟悉Oracle数据库物理存储结构: 2.掌握Oracle数据库数据文件的管理: 3.掌握Oracle数据库控制文 ...
- oracle数据库第八章答案,Oracle培训(三十)——Oracle 11g 第八章知识点小结——处理数据...
Oracle培训(三十)--Oracle 11g 第八章知识点总结--处理数据 Oracle 11g 第八章知识点总结--处理数据 知识点预览 复习 处理数据 复习 --建表t_user create ...
- oracle执行命令显示2,Oracle数据库执行脚本常用命令小结
1. 执行一个SQL脚本文件 复制代码 代码如下: sqlplus user/pass@servicename 或 复制代码 代码如下: SQL>start file_names 或 复制代码 ...
- Oracle 数据库萌新经验小结
刚出道的时候,学的就是oracle数据库,后期兴趣所向,转行java, 翻出以前的总结笔记,拿来分享给大家 有点小多,想直接看文档的小伙伴可以去网盘下载(文档里有格式和目录,好看点): 链接:http ...
- oracle @spool,Oracle spool 用法小结
Oracle spool 用法小结 转自:http://wallimn.javaeye.com/blog/472182 对于SPOOL 数据的SQL,最好要自己定义格式,以方便程序直接导入,SQL语句 ...
- cmd导入oracle库文件,cmd 导入oracle数据库
从服务器将Oracle数据库导出到本地Oracle数据库的方法 原文:从服务器将Oracle数据库导出到本地Oracle数据库的方法 1.将服务器上的Oracle数据库导入到本地 在CMD模式下执 ...
- linux sqlserver_SQLServer和Oracle数据库相比谁更强?
SQLServer和Oracle数据库相比谁更强? 目录 [引言] [基本情况对比] [SQL Server] [Oracle] [历史情况对比] [SQL Server] [Oracle] [功能对 ...
- oracle张大鹏,Oracle数据库性能优化
目录 第一篇 优化工具篇 第 1 章 DBA 优化之路 1.1 学习的建议 1.2 工具推荐 1.3 关于操作系统方面的建议 1.4 关于Oracle初始化参数的调整 1.5 关于Statspack的 ...
- 企业实战06:Oracle数据库_约束
Oracle数据库专栏 命令后面可以不加;分号 SQL语句后面一定要加;分号 文章目录 约束 5-1 Oracle 约束概述 5-2 Oracle 非空约束 5-3 Oracle 主键约束 5-4 O ...
最新文章
- [转] Android系统版本号和Android API level对应表
- ​基于BCI的现代神经反馈有助于认知增强
- porphet论文_时间序列模型Prophet使用详细讲解
- 归并排序 java 迭代_经典排序算法之归并排序(示例代码)
- c语言if的时候自动转换,[求助]IF语句转换SWITCH语句写出!如何
- [原创]如何在Windows XP 中利用监视计算机中的资源使用情况
- watch 与 computed
- 宏山激光sigmatube套料软件多台电脑安装教程
- livereload_使用LiveReload节省编码时间和精力
- js实现手机端摇一摇
- 原生WebGL场景中绘制多个圆锥圆柱
- Docker系列之八:在Dockerfile中使用多段构建Muti-stage build
- 华视100UC 身份证阅读器 Java
- 创新思维对计算机专业的关系,创新思维复习题
- 程序员健康指南 真的很受用
- 运筹学基础【一】 之 导论
- 怎么将几张pdf合并成一张_如何将多个pdf文件合并成一个pdf文件?
- 石家庄市学府路机动车科目三考场路线详细教案
- FME爬取百度POI数据
- opencv打开图片转换为二进制
热门文章
- (3)数据结构-线性表链式存储
- python 异步api ThreadPoolExecutor 、ProcessPoolExecutor(多线程、多进程)
- 使用python调用百度ocr的API
- 标准机器学习数据集的最佳结果
- 20170923在线编程之输入年、月、日输出这是一年的第几天
- java 文件上传 乱码_java中文传值乱码问题的解决方法
- 7时过2小时是几时_小姐姐花1万7租了一个2小时男友,全程上演偶像剧......
- 琴岛学院计算机工程系怎么样,青岛理工大学琴岛学院计算机工程系学子荣获全国网络技术挑战赛二等奖...
- JAVA数据类型和运算符2
- requests 超时关闭_requests获取响应时间(elapsed)与超时(timeout)