博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle常用函数
阅读量:6441 次
发布时间:2019-06-23

本文共 2271 字,大约阅读时间需要 7 分钟。

SQL Cookbook 笔记(Oracle)(1)条件选择 case when(2)随机排序 order by dbms_random.value()(3)空值替换 coalesce、nvl(6)null值排序处理    select * from emp t order by t.comm desc 【nulls last | nulls first】(7)条件排序    select * from emp t order by t.job, case when t.job = 'SALESMAN' then comm else sal end desc, t.empno    (8)集合操作    intersect、minus    (9)标量子查询:放置在 select列表中的子查询(10)in、update 均可多行(11)update可使用内联视图//=============使用字符串===============================(1)cast 类型转换    select cast(e.sal as char(9)) sal from emp e;    (2)lower、upper 大小写    select lower('AbcD') from dual; --abcd    select upper('AbcD') from dual; --ABCD    (4)translate 转码    select translate('abc', 'ab', '12') from dual; -- '12c'    (5)replace 串替换(6)rpad,lpad 字符截取、用特定字符填充    select rpad('abc', 2, 'X') from dual; --ab    select rpad('abc', 4, 'X') from dual; --abcX    select lpad('abc', 2, 'X') from dual; --ab    select lpad('abc', 4, 'X') from dual; --Xabc(7)substr 截子串(8)递归查询,汇总    select     deptno,    ltrim(sys_connect_by_path(ename, ','), ',') emps    from (        select           deptno,          ename,          row_number() over (partition by deptno order by ename) rn,          count(*) over (partition by deptno) cnt        from emp        where deptno is not null    )    where level = cnt    start with rn = 1 connect by prior deptno = deptno and prior rn = rn - 1    --output    DEPTNO    EMPS    10        CLARK,KING,MILLER    20        ADAMS,FORD,JONES,SCOTT,SMITH    30        ALLEN,BLAKE,JAMES,MARTIN,TURNER,WARD    (9)--列出每个部门最高/最低工资    --1    select        deptno,       min_sal,       max_sal    from (        select           deptno,          ename,          sal,          row_number() over (partition by deptno order by sal) rn,          count(*) over (partition by deptno) cnt,          min(sal) over (partition by deptno) min_sal,          max(sal) over (partition by deptno) max_sal        from emp    )    where rn = cnt    --2    select        deptno,       min_sal,       max_sal    from (        select           deptno,          min(sal) over (partition by deptno) min_sal,          max(sal) over (partition by deptno) max_sal,          row_number() over (partition by deptno order by empno) rn        from emp    )    where rn = 1

 

转载于:https://www.cnblogs.com/sleepyy/p/3543162.html

你可能感兴趣的文章
http 小爬虫
查看>>
“工欲善其事,必先利其器”——UC浏览器研发中实用测试工具
查看>>
字符串转double算法
查看>>
seleect io模型的select操作封装
查看>>
记一次使用dockerfile安装debian并安装好vim,netstat等工具
查看>>
【LeetCode】141 Linked List Cycle (java实现)
查看>>
动态设置软键盘打开会关闭
查看>>
便携式能源设备
查看>>
云盘发展方向研究和总结
查看>>
xcodebuild和xcrun自动化编译ipa包 笔记
查看>>
Spring 的启动过程
查看>>
livereload的使用
查看>>
js判断页面值是否被改变
查看>>
【Linux 系统编程】常用的一些基本命令
查看>>
VUE实现的一个简单分页表格
查看>>
spring4.0 整合 Quartz 实现任务调度(一)
查看>>
android复杂布局的一点思路
查看>>
Awesome Python
查看>>
java web简单权限管理设计
查看>>
Google Analytics
查看>>