文档章节

Oracle SQL总结

playgame
 playgame
发布于 2016/07/13 11:27
字数 1180
阅读 5
收藏 0
点赞 0
评论 1

全部调试通过的。

select * from dual;


-- Oracle 日期格式函数
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual;
select to_char(sysdate,'yyyy') as nowYear from dual;
select to_char(sysdate,'mm') as nowMonth from dual;
select to_char(sysdate,'dd') as nowDay from dual;
select to_char(sysdate,'hh24') as nowHour from dual;
select to_char(sysdate,'mi') as nowminute from dual;
select to_char(sysdate,'ss') as nowSecibd from dual;

--获得小时数 
 select sysdate ,to_char(sysdate,'hh') from dual;
 select sysdate ,to_char(sysdate,'hh24') from dual;


select to_date('2016-10-10 12:10:10','yyyy-mm-dd hh24:mi:ss') as nowTime from dual;
select to_date('2016-10-10','yyyy-mm-dd hh24:mi:ss') as nowTime from dual;
select to_date('2016-10-10','yyyy-mm-dd') as nowTime from dual;


select to_char(to_date(222,'J'),'Jsp') from dual;

--求某天是星期
select to_char(to_date('2016-7-13','yyyy-mm-dd'),'day') as weekDay from dual;

select to_char(to_date('2016-7-13','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE=American') as weekDay from dual;

--  两个日期间的天数 
select floor(sysdate-to_date('2016-7-10','yyyy-mm-dd')) as day from dual;
select floor(to_date('2016-10-10','yyyy-mm-dd')-to_date('2016-7-10','yyyy-mm-dd')) from dual;


-- 时间为null的用法  
select 1,to_date(null) from dual;


--变量列表
select * from nls_session_parameters;
select * from V$nls_Parameters where parameter='NLS_LANGUAGE';


-- 查找月份
select months_between(to_date('2016-9-10','yyyy-mm-dd'),to_date('2016-1-10','yyyy-mm-dd')) as allMonth from dual;
select months_between(to_date('2016-5-20','yyyy-mm-dd'),to_date('2016-1-10','yyyy-mm-dd')) as allMonth from dual;

-- 当前时间
select sysdate from dual;
 
--  找出今年的天数

select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual;

-- 一年的第几天
select TO_CHAR(SYSDATE,'DDD'),sysdate from dual;
 

-- round[舍入到最接近的日期](day:舍入到最接近的星期日)
select sysdate S1, round(sysdate) S2 , round(sysdate,'year') YEAR, round(sysdate,'month') MONTH , round(sysdate,'day') DAY from dual


-- trunc[截断到最接近的日期,单位为天] ,返回的是日期类型

select sysdate S1,trunc(sysdate) S2,trunc(sysdate,'year') YEAR,trunc(sysdate,'month') MONTH ,trunc(sysdate,'day') DAY from dual;        

-- 返回日期列表中最晚日期
 select greatest('2001-1-04','2020-9-04','2010-2-04') from dual;
 
-- 更新时间
select sysdate,to_char(sysdate+1*365,'yyyy-mm-dd hh24:mi:ss') as newTime from dual ;
select sysdate,add_months(sysdate,3) as newTime from dual ;
select sysdate,to_char(sysdate+1,'yyyy-mm-dd hh24:mi:ss') as newTime from dual ;
select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd hh24:mi:ss') as newTime from dual ;
select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd hh24:mi:ss') as newTime from dual ;
select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd hh24:mi:ss') as newTime from dual ;


-- 字符串截取
select substr('this is one char for test',1,5) from dual;

-- 查找子串位置
select instr('this is one char for test','char') from dual;


--字符串连接
select 'hello'||'HanMeiMei' as sayHello from dual;

select concat( 'hello','HanMeiMei') as sayHello from dual;

-- 去掉字符串中的空格
select ltrim(' this') s1,rtrim('zhangsan ') s2,trim(' lisi ') s3 from dual;

-- 去掉前导和后缀
select trim(leading 1 from 11111345345345111111) s1,trim(trailing 1 from 11111345345345111111) s2,trim(1 from 11111345345345111111) s3 from dual;

-- 字符串长度 
select length('this is test for oracle') from dual;


-- initcap(首字母变大写) ,lower(变小写),upper(变大写)
select lower('ABC') s1, upper('def') s2, initcap('efg') s3 from dual;

-- Replace
select replace('abc','b','xy') from dual;

-- translate
select translate('abc','b','qqqq') from dual;

-- lpad [左添充] rpad [右填充](用于控制输出格式)
select lpad('func',15,'=') s1, rpad('func',15,'-') s2 from dual;

-- decode[实现if ..then 逻辑]   注:第一个是表达式,最后一个是不满足任何一个条件的值
select grade_id,decode(grade_id,1,'一年级',2,'二年级',3,'三年级','无分班') from student;

-- case[实现switch ..case 逻辑]
select 
 case when grade_id=1 then '一年级' 
   when grade_id=2 then '二年级' 
    when grade_id=3 then '三年级' 
      else 'unkonwn' end
        from student;

-- 取整函数(ceil 向上取整,floor 向下取整)
 select ceil(66.6) N1,floor(66.6) N2 from dual;

-- 求余数
select mod(9,2) from dual;

-- 返回固定小数位数 (round:四舍五入,trunc:直接截断)
select round(66.667,2) N1,trunc(66.667,2) N2 from dual;

-- 返回值的符号(正数返回为1,负数为-1)
select sign(-32),sign(293) from dual;

-- to_number() 转换为数字类型
select to_number(to_char(sysdate,'hh12')) from dual;


-- nvl(ex1,ex2):ex1值为空则返回ex2,否则返回该值本身ex1(常用)
select empno,sum(sal+nvl(comm,0)) from emp group by empno;

--返回列表中第一个非空表达式
select comm,sal,coalesce(comm,sal,sal*10) from emp;

-- nvl2(ex1,ex2,ex3) :如果ex1不为空,显示ex2,否则显示ex3
select nvl2(comm,ename,'') as HaveCommName,comm from emp;

-- 分组函数; 求部门30 的最高工资,最低工资,平均工资,总人数,有工作的人数,工种数量及工资总和
select * from emp where deptno=30;
select max(sal) as maxSal,min(sal) as minSal,avg(sal) as avgSal,count(*) as TotalEMP,sum(sal) as totalSal,count(job),count(distinct(job)) from emp where deptno=30;


-- 按部门分组求最高工资,最低工资,总人数,有工作的人数,工种数量及工资总和
select max(sal) as maxSal,min(sal) as minSal,count(*) as TotalEMP,count(job) as hasJob,count(distinct(job)) as jobCount,sum(sal) as totalSal from emp group by deptno;

-- 部门30的最高工资,最低工资,总人数,有工作的人数,工种数量及工资总和 
select max(sal) as maxSal,min(sal) as minSal,count(*) as TotalEMP,count(job) as hasJob,count(distinct(job)) as jobCount,sum(sal) as totalSal from emp group by deptno having deptno=30;
 

参考文章:http://www.cnblogs.com/chuncn/archive/2009/04/29/1381282.html

© 著作权归作者所有

共有 人打赏支持
playgame
粉丝 0
博文 26
码字总数 10272
作品 0
洛阳
QA/测试工程师
加载中

评论(1)

playgame
playgame
select * from student where regexp_like(student_name,'^[1-3]');

select * from student where regexp_like(student_name,'[^1-2]');
oracle9i和oracle10g多版本共存,oracle9i不能连接问题总结

oracle9i用pl/slq developer报" ORA-12154: TNS:无法解析指定的连接标识符"错误解决方案总结:机器上先后安装了oracle9i和oracle10g,安装好后,10g能用pl/sql developer正常连接,但9i总是连不上...

Samir ⋅ 2013/09/12 ⋅ 0

sqlplus命令行总结

1.[oracle@zh888 ~]$ sqlplus /nolog //启动oracle数据库实例 SQL*Plus: Release 10.2.0.1.0 - Production on Sat May 11 00:29:00 2013 Copyright (c) 1982, 2005, Oracle. All rights res......

zh888 ⋅ 2013/05/11 ⋅ 0

oracle10g总结

1.[oracle@zh888 ~]$ sqlplus /nolog //启动oracle数据库实例 SQL*Plus: Release 10.2.0.1.0 - Production on Sat May 11 00:29:00 2013 Copyright (c) 1982, 2005, Oracle. All rights res......

zh888 ⋅ 2014/05/21 ⋅ 0

Oralce OMF 功能详解

OMF,全称是Oracle_Managed Files,即Oracle文件管理,使用OMF可以简化管理员的管理工作,不用指定文件的名字、大小、路径,其名字,大小,路径由oracle 自动分配。在删除不再使用的日志、数据...

yangfei86 ⋅ 2014/07/17 ⋅ 0

MySQL · 特性分析 · 企业版特性一览

背景 MySQL 企业版由 Oracle 公司维护,当然也是收费的。其产品类别也基本和 Oracle 数据库一致,包括标准版、企业版、集群版等。标准版包括基本的特性,价格也会比企业版便宜很多。今天和小...

阿里云RDS-数据库内核组 ⋅ 2015/12/09 ⋅ 0

Oracle Move命令总结

Oracle Move命令总结 2014-03-13 08:48 206人阅读 评论(0) 收藏 举报   Oracle Move命令总结   从8i开始,oracle开始提供Move的命令。我们通常使用这个命令,将一个table segment从一个t...

快速开发师 ⋅ 2017/01/13 ⋅ 0

oracle,mysql,sqlserver--java对日期字段的操作

最近工作中用到了这三种数据库对日期字段的操作,现做如下总结。 1.数据库字段与java类型的对应关系。 明白这对应关系,我们才能正确的使用PreparedStatement设置参数 2.关于日期字段的几点说...

一不留神 ⋅ 2016/07/24 ⋅ 0

Jboss 中添加Oracle 的XA 数据源支持

这方面的资料太少了, 最终在一个IBM的网页上找到。 首先要先让Oracle 打开XA功能,可以通过以下几步实现 : 1) 在SQLPLUS(一定要用这个工具) 中,用Oracle 的系统管理员用户 SYSOPER 或 ...

小骏骏 ⋅ 2015/04/01 ⋅ 0

Oracle_sql优化基础——优化器总结

优化器的基础: 1、Oracle里的优化器: 优化器是Oracle数据库中内置的一个核心子系统,优化器的目的就是按照一定的判断原则来得到它认为目标sql在当前情形下最高效的执行路径,也就是说是为了...

一个笨小孩 ⋅ 2017/08/01 ⋅ 0

oracle 服务设置

总结: 一、设置oracle进程数 SQL> show parameter processes #最大连接 SQL> alter system set processes = 800(可以设大点) scope = spfile;重启数据库 #修改连接 二、设置输入密码次数 ...

he2375813 ⋅ 2015/02/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部