oracle数据库中函数用法大总结

在oracle数据库中,函数大致可以分为三类:单行函数,分组函数和分析函数。
(1)单行函数:日期函数,字符函数,数字函数,转换函数

日期函数

select add_months(sysdate,15) from dual;
syadate() 获得系统当前日期
current_timestamp() 获得系统当前日期和时间
months_between(日期一,日期二) 返回两个日期间隔了几个月
greatest(, , ,,) 从日期列表参数中选出最早的日期
last_day(日期) 返回日期所在月的最后一天
next_day(日期,星期几) 返回日期所在这周的下周的参数星期几对应的日期

字符函数

select initcap('hello') from dual;将首字母大写:
select lower(ename) from emp; 将大写转成小写:
upper('') 将小写转成大写
Ltrim('abc123','abc') 如果参数二中任意一个字符出现在参数一的左边就去掉
Rtrim('abc123','123')如果参数二中任意一个字符出现在参数一的右边,就去掉
Translate('abca','a','b');如果参数二在参数一中出现,就用参数三代替
replace('','','')如果参数二在参数一中出现,就用参数三代替
instr('abcd','c') 获得参数二在参数一种出现的位置
substr('abcdef',3,2);从第3个字符开始,截取2个字符
Concat('abc','def') 连接两个字符串
CHR(97) 获得数字对应的字符
ASCII('A') 获得字符对应ASCII码
Lpad('abc',10,'*')如果abc不够10位,就在abc的左边加上*
Rpad('abc',10,'*')如果abc不够10位,就在abc的右边加上*
length('') 获得字符串的长度
trim('abcabc','a') 去掉参数一左右两边出现的参数二
nvl(参数一,参数二) 返回参数一的值,如果参数一为空,就返回参数二的值
nvl2(参数一,参数二,参数三) 如果参数一不为空,就返回参数二的值,否则就返回参数三的值
nullif(参数一,参数二) 如果参数一和参数二值相同,就返回null,否则返回参数一的值;

数字函数

abs() 求绝对值
ceil() 返回不小于或等于参数的最小整数
floor() 返回不大于或等于参数的最大整数
round() 四舍五入
trunc(,) 参数二指定参数一保留几位小数,如果参数二为0,则参数一的返回结果和floor一样;


转换函数

to_char(date,'YYYY-MM-DD')将参数一转换成 varchar2 格式
to_date('2015-10-12','YYYY-MM-DD');按照参数二指定的格式,将参数一字符串转换成日期数据
to_number(,)将数字字符串转换成数字数据


(2)分组函数
avg() 返回平均值
sum() 返回总和
max() 返回最大值
min() 返回最小值
count() 返回记录的统计数量
media()返回参数的中间值
variance() 返回方差
siddev() 返回标准差

(3)分析函数
Row_number:得到连续的数字
Rank :相同的值排位相同,随后跳跃
Dense_Rank:相同的值排位相同,随后接着往后排

select empno,ename,sal, row_number() over(order by sal desc) from emp;
select empno,ename,sal, rank() over(order by sal desc) from emp;
select empno,ename,sal, dense_rank() over(order by sal desc) from emp;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值