(大写的PS:oracle存储过程测试进不去解决方案:重新编译;)

TRUNC(sysdate, 'd') + 1   ////表示今天所在周的周一的年月日,如今天是2016.04.21周四,则TRUNC(sysdate, 'd') + 1表示2016.04.18周一

select trunc(sysdate) from dual;

case when 1>0 then 1 else 0 end  ////表示当1>0条件满足时取1,否则取0

select (case when 1>2 then 3 when 4>5 then 6 when 7<8 then 9 else 10 end) from dual; --结果为9;多个when条件,且else可省略;

TO_CHAR(sysdate, 'yyyyMMdd')   ////得到字符串"2016/04/21" PS:把日期或数字转换成字符串(to_char的结果和to_number结果可计算)

to_date('2018-12-12','yyyy-MM-dd') --可把字符串按指定格式转换成date类型,一般比较日期,要么把日期转换成字符串或数字,要么把字符串转换成日期,两者相同类型才能比较;

MONTHS_BETWEEN(DATE1,DATE2)   ////返回两个日期之间的月份数

select a.*,b.* from a,b where a.id=b.id(+)   ///加号在“=”右边表示左连(left join)  相当于select a.*,b.* from a left join b on a.id=b.id   a为主表

dense_rank()over(order by 列名排序)的结果是连续的,如 1 1 1 2

||  字符串连接符比如:'aaa' || 'bbb'= 'aaabbb'

EXECUTE IMMEDIATE,一般用于存储过程中执行动态sql,表不存在可能会报错

substr(字符串,截取开始位置,截取长度) //返回截取的字

instr('源字符串' , '目标字符串' ,'开始位置','第几次出现') (PS:在Oracle中比like效率更高)

nvl(a,b),当a不为null时返回a,当a为null时返回b。  nvl(REMARKS,' ')<>' '   判断字段不为null和空,length(REMARKS)>1,可能会导致语句执行时间过长

rpad函数从右边对字符串使用指定的字符进行填充

rpad('tech', 7); 将返回'tech '

rpad('tech', 2); 将返回'te'

rpad('tech', 8, '0'); 将返回'tech0000'

round(x,y)   ////x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位

extract(month from sysdate)  --获取当前时间的月份   等价于to_char(sysdate,'MM')

extract(year from sydate) --获取当前时间的年份  等价于to_char(sysdate,'YYYY')

extract(day from sysdate) --返回当前时间的日   等价于to_char(sysdate,'DD')

exists 和in

1) select * from T1 where exists(select 1 from T2where T1.a=T2.a) ;

T1数据量小而T2数据量非常大时,T1<<T2 时,1) 的查询效率高。

2) select * from T1 where T1.a in (select T2.a fromT2) ;

T1数据量非常大而T2数据量小时,T1>>T2 时,2) 的查询效率高。

DECODE('X','b','c','d','e',0)  ----当X=b时得到c,当x=d时得到e,当x <>b and x<>d时得到0;

oracle相关函数的更多相关文章

  1. ORACLE相关函数使用总结

    1. 2018年12月12日 12时12分  这种时间格式怎么转成2018-12-12 12:12  解决: select regexp_replace(regexp_replace('2009年6月 ...

  2. Oracle用法、函数备忘记录

    Listagg select * from emp select LISTAGG(ename,'-') within group (order by deptno desc) from emp; 可以 ...

  3. Oracle学习笔记_09_字符串相关函数

    二.参考资料 0.Oracle中的字符串类型及相关函数详解 1.ORACLE 字符串操作 2.oracle函数大全-字符串处理函数

  4. Oracle 周相关函数

    Oracle 周相关函数   select trunc(sysdate,'W'), --每月1日作为第一个星期第一天 取当前周第一天对应日期 trunc(sysdate,'WW'), --每年1月1日 ...

  5. Oracle树查询及相关函数

    Oracle树查询的最重要的就是select...start with... connect by ...prior 语法了.依托于该语法,我们可以将一个表形结构的中以树的顺序列出来.在下面列述了Or ...

  6. oracle 处理时间和金额大小写的相关函数集合

    CREATE OR REPLACE FUNCTION MONEY_TO_CHINESE(MONEY IN VARCHAR2) RETURN VARCHAR2 IS C_MONEY ); M_STRIN ...

  7. [转]Oracle截取字符串相关函数

    转至:http://www.cnblogs.com/qmfsun/p/4493918.html 1.instr(sourceString,destString,start,appearPosition ...

  8. oracle数据学习第二天

    今天主要加强了对oracle数据库的数据类型一些相关函数的学习  (一)char和varchar2  字符串函数 <1>concat(char1,char2)字符串连接函数,用于连接两个字 ...

  9. 基于LR的Oracle应用性能测试

    最近对一个oracle ERP系统的INV模块进行性能测试,因为之前大部分都是测试web类型的应用,在这方面经验较少,期间也遇到了不少问题,因此有必要作些总结,以备后忘.首先先简单了解下测试对象相关的 ...

随机推荐

  1. vue项目中vux的使用

    vux VUX 是基于 WeUI 和 Vue.js 的 移动端 UI 组件库,提供丰富的组件满足移动端(微信)页面常用业务需求. 在vue-cli中使用步骤如下: 1.安装: npm i vux -S ...

  2. ["1", "2", "3"].map(parseInt)`返回的结果是[1,2,3]?

    今天刷到一道面试题,["1", "2", "3"].map(parseInt)返回的结果是什么呢?可能大家第一个想到的是 [1,2,3],但 ...

  3. openlayers4 入门开发系列之地图模态层篇(附源码下载)

    前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...

  4. 解决mysql中只能通过localhost访问不能通过ip访问的问题

    解决mysql中只能通过localhost访问不能通过ip访问的问题 原因是没开权限 SELECT * FROM USER WHERE USER='root'; grant all privilege ...

  5. win10彻底禁用自动更新,win10怎样彻底关闭自动更新,永久关闭win10自动更新,win10更新助手

    首先,请广大win10受害者原谅小菜用一个如此长的标题来吸引你们,为了尽最大努力帮助那些饱受win10自动更新折磨的朋友们,小菜不得已出此下策,望见谅! windows 10是一个神奇的操作系统,当你 ...

  6. C#运算符的简单使用测试

    在代码中看到的代码中|=,有点不太理解故重新学习了下位运算符. 位运算符在 c# 中的测试用例 [TestMethod] public void TestMethod1() { var a = fal ...

  7. 分布式锁实现秒杀 - 基于redis实现

    业务场景 所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源,这里的资源在大部分秒杀场景里是商品:将业务抽象,技术角度看,秒杀就是多个线程对资源进行操作,所以实现秒杀,就必须控制线程对资源的争抢, ...

  8. 最短路问题之Bellman-ford算法

    题目: 最短路:给定两个顶点,在以这两个点为起点和终点的路径中,边的权值和最小的路径.考虑权值为点之间的距离. 单源最短路问题,Bellman-ford算法 思路:每次循环检查所有边,可优化. 应用于 ...

  9. 使用mysql事件定时执行岗位七天下线任务

    最近做了一个招聘的项目,在项目中有一个定时下线的需求.在做之前我一直在考虑到底使用window 服务,还是使用调度,最终我选择使用mysql定时事件,因为这样简单方便. 思路:首先创建一个存储过程,通 ...

  10. Linux系统部署samba服务记录

    Samba(Server Messages Block)是一种linux系统和windws系统之间依靠网络协议共享文件的服务程序,(Samba has provided secure, stable ...