Oracle的SQL函数

Oracle的SQL函数

分类:
1、单行函数:每一行只返回一个值,可以出现在 SELECT 子句中和 WHERE 子句中,常见的函数有:日期函数、数字函数、字符函数、转换函数、其他函数
2、分组函数:根据分组的情况,返回每组里的一个结果值,可以在使用 ORDER BY 和HAVING 子句中使用
3、分析函数:分析函数根据一组行来计算聚合值,分析函数为每组记录返回多个行

转换函数

TO_CHAR()函数

SELECT TO_CHAR(sysdate,'YYYY"年"fmMM"月"fmDD"日" HH24:MI:SS'FROM dual;
SELECT to_char(1210.7, '$9,999.00'FROM dual;

TO_DATE()函数

SELECT to_date('2013-07-13' , 'yyyy-mm-dd'FROM dual;

TO_NUMBER()函数

SELECT SQRT(to_number('100')) FROM dual;
其他函数-单行函数

分析函数 RANK() DENSE_RANK() ROW_NUMBER()

SELECT ename, deptno, sal, 
--按照每个部门分组,对薪水从大到小排序,每个部门序号从 1 开始,同一个部门相同薪水序号相同, 
--且和下一条不同记录的排名之间空出排名 1 1 3 3 5 6 
RANK( ) OVER (PARTITION BY deptno ORDER BY sal DESC) "RANK",
--按照每个部门分组,对薪水从大到小排序,每个部门序号从 1 开始,同一个部门相同薪水序号相同, 
--且和下一条不同记录的排名之间不空出排名 1 1 2 3 3 4
DENSE_RANK( ) OVER (PARTITION BY deptno ORDER BY sal DESC) "DENSE_RANK",
--按照每个部门分组,对薪水从大到小排序,每个部门序号从 1 开始,同一个部门相同薪水序号继续
--递增,顺序排名 1 2 3 4 5 6 
ROW_NUMBER( ) OVER (PARTITION BY deptno ORDER BY sal DESC) "ROW_NUMBER" 
FROM emp; 
-- 不分组的的分析函数 查询 emp 表中所有的工资排名
SELECT ename, sal, RANK( ) OVER (order by sal desc) "RANK" from emp

更多Oracle相关知识请关注我哦,猛戳主页,啾咪,谢谢!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值