orcale常用函数总结

1.数字函数

round:四舍五入
trunc: 截断(保留小数点的问题)
mod: 求余

举例说明:

select round(8.88,1) from dual;   结果:8.9
select trunc(8.88,1) from dual;   结果:8.8
select mod(1,5) from dual;        结果:1
2.滤空函数

nvl(a,b) 当a为null的时候,返回b,否则,返回a本身。
nvl2(a,b,c) 当a为null的时候,返回c,否则返回b

举例说明:

select nvl(null,0) from dual;            结果:0
select nvl(1,0) from dual;               结果:1
select nvl2(1,'java','php') from dual;   结果:java
3.条件函数

①decode函数【推荐】:(条件表达式,对照表达式1,value1,对照表达式2,value2,…对照表达式n,valuen,缺省值),oracle特有的用法。
语法解释:如果条件表达式=对照表达式1,返回的结果为value1;如果条件表达式=对照表达式2,返回的结果为value2……如果条件表达式不满足任何值,则返回的结果为缺省值。

举例说明:

select decode(1,1,'zhang_zha_zha','papapa') from dual;  结果:zhang_zha_zha
select decode(1,2,'zhang_zha_zha','papapa') from dual;  结果:papapa

说白了decode函数就类似于我们java中的if-else语句,上面这个例子似乎对我们开发中并没有多大的用处,现在举一个开发中常用的一种用法:

格式:decode(beichush,0,0,chushu/beichush)

注释:在数据库中通过计算得到beichushu(被除数),当被除数=0时sql语句肯定报错,所以可以使用decode函数完美解决。

②case语句:sql99语法,使用时有点繁琐(不再举例)

4.转换函数

to_char() 是把日期或数字转换为字符串
to_date() 是把字符串转换为数据库中得日期类型转换函数
to_number(char, ‘format’) 将字符转化为数字

举例说明:

select to_char(sysdate,'yyyy-MM-dd') from dual;  结果:2017-04-07
select to_date('2017-04-07 13:29', 'yyyy-mm-dd hh24:mi') from dual;  结果:2017/4/7 13:29:00
select to_number('8.78','9.00') from dual;  结果:8.78
5.过滤函数

ROW_NUMBER() OVER(partition by 字段1 order by 字段2) 根据字段1分组,在分组内部根据字段2进行排序,该函数计算的值就表示每组内部排序后的顺序编号

举例说明:

select *
  from (select t.*,
               ROW_NUMBER() OVER(partition by cphone order by capplydate asc) as r_m
          from tablename t)
 where r_m = 1
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值