暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle中各类常用函数

原创 Oracle 2022-09-05
409

函数
1. 数字函数
nvl(目标字段,默认值)
--判断目标字段里面是否为空,如果不为空,则取目标字段的值,如果为空,则赋一个默认值
abs(x) --返回绝对值
mod(x,y) --返回x除以y的余数
power(x,y) --返回x的y次方
ceil(x) --向上取整
floor(x) --向下取整
round(x,y) --
trunc(x,y) --y的界限为小数点...断x在第y后的数字,把y位之后的数字全干掉(全换成0)

2. 字符函数
add_months(d,n) --返回日期d加上n个月后的日期

last_day(d) --返回d所处月份的最后一天的日期

months_between(d1,d2) --返回两个日期之间相隔几个月

round(d[,fmt])
--对日期d按照不同维度(fmt:yyyy/mm/dd/day[星期]/q[季度]/w[当月第几周]/iw[今年第几周1]/ww[今年第几周2])来进行四舍五入

trunc(d[,fmt]) --对日期d按照不同维度(fmt)来截断,维度参照fmt

3. 日期函数
add_months(d,n) --返回日期d加上n个月后的日期
last_day(d) --返回d所处月份的最后一天的日期
months_between(d1,d2) --返回两个日期之间相隔几个月
round(d[,fmt])
--对日期d按照不同维度(fmt:yyyy/mm/dd/day[星期]/q[季度]/w[当月第几周]/iw[今年第几周1]/ww[今年第几周2])来进行四舍五入

trunc(d[,fmt]) --对日期d按照不同维度(fmt)来截断,维度参照fmt

4. 聚合函数
max()
min()
avg()
sum()
count()


5. 分析函数
a. 聚合类分析函数
聚合函数名(目标字段)over(partition by...order by...desc/asc)
1
b. 排名类分析函数
row_number()over() --不计算相同数据,排名依次往后。1234
rank()over() --计算想要的数据,相同的数据排名一样,并空出后继续排名。1224
dense_rank()over()--计算相同的数据,相同的数据排名一样,但是不空出后续排名。1223

order by 后面的字段就是排名的依据,所以它一定有 order by

c. 位移类分析函数
lag()over([partition by...]order by...) --向上位移
lead()over([partition by...]order by...) --向下位移

可以实现行列转换

6. 几个判断函数
nvl(目标字段,默认值)
--判断目标字段是否为空,如果不为空,则取目标字段的值,如果为空,则赋默认值
nvl2(目标字段,默认值1,默认值2)
--判断目标字段是否为空,如果不为空,则取默认值1,为空取默认值2
case when...then...else...end --对某一列数据进行判断,返回一列数据
decode(目标字段,值1,结果1,值2,结果2...,其他结果)
--oracle独有。作用类似case...when
exists(x)
--判断x是否有数据返回,如果有则成立,没有则不成立。一般x为子查询结果
not exists(x)
in()
not in()
#exists和in可以相互转换
sign() ---判断结果集,返回0,1,-1

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论