orcale常用函数总结

来源:互联网 发布:手机城市选择器插件js 编辑:程序博客网 时间:2024/05/18 03:24

1.数字函数

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

举例说明:

select round(8.88,1) from dual;   结果:8.9select trunc(8.88,1) from dual;   结果:8.8select 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;            结果:0select nvl(1,0) from dual;               结果:1select 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_zhaselect 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-07select to_date('2017-04-07 13:29', 'yyyy-mm-dd hh24:mi') from dual;  结果:2017/4/7 13:29:00select 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
1 0
原创粉丝点击