oracle实现函数语法,oracle中,一些独有的函数用法 | 学步园

在MS Sql Server下,写sql写习惯了,突然需要在Oracle下写sql,说实话原则上没多大区别,可是有些Oracle内带函数如果不了解,不去用,有时候还挺麻烦。我接下来准备写个小总结,把做项目中涉及到的一些Oracle函数列举出来,一方面为了自己以后查找方便(本人年纪大了,脑袋不好用了,呵呵);另一方面也希望给大家一个方便,通过讨论可以互相学习,汲取各种经验。开始了:

1.NULLIF()

SELECT ename, NULLIF(comm, 0) COMM FROM emp;

ENAME            COMM

----------       ----------

SMITH

ALLEN             300

WARD              500

JONES

MARTIN           1400

BLAKE

CLARK

SCOTT

这个函数一看就知道是啥意思,如果comm=0,结果集里可以用空代替0。

2.COALESCE()

SELECT ename, COALESCE(comm, 0) COMM FROM emp;

ENAME            COMM

----------       ----------

SMITH               0

ALLEN             300

WARD              500

JONES               0

MARTIN           1400

BLAKE               0

CLARK               0

SCOTT               0

这个函数意思其实跟上个差不多,只不过可以任意替换想要在结果集里显示的值。如下:

SELECT ename, COALESCE(to_char(comm), 'None') COMM FROM emp;

ENAME            COMM

----------       ----------

SMITH            None

ALLEN            300

WARD             500

JONES            None

MARTIN           1400

BLAKE            None

CLARK            None

SCOTT            None

你看一样吧。

3.NVL()

此函数比较简单,就是判断是否为空,可以设定某个值,比如nvl(a,0,1),意思就是如果a为空,显示0,否则为1。

4.lpad() 和 rpad()

select lpad(ename,10,'*'),rpad (ename,10,'>') from emp;

LPAD(ENAME,10,'*')   RPAD(ENAME,10,'>')

-------------------- --------------------*****SMITH           SMITH>>>>>

*****ALLEN           ALLEN>>>>>

******WARD           WARD>>>>>>

*****JONES           JONES>>>>>

****MARTIN           MARTIN>>>>

*****BLAKE           BLAKE>>>>>

*****CLARK           CLARK>>>>>

*****SCOTT           SCOTT>>>>>

******KING           KING>>>>>>

****TURNER           TURNER>>>>

*****ADAMS           ADAMS>>>>>

LPAD(ENAME,10,'*')   RPAD(ENAME,10,'>')

-------------------- --------------------*****JAMES           JAMES>>>>>

******FORD           FORD>>>>>>

****MILLER           MILLER>>>>

已选择14行。

从结果可以看出,lpad()函数的作用是:如果列的长度没有达到指定的值,则在列的左边不上相应的 字符。rpad()函数是向右补全。

5.greatest ()  和 least()

select greatest (1,2,3,4,5) ,least(0,1,2,3,4,5) from dual

GREATEST(1,2,3,4,5) LEAST(0,1,2,3,4,5)

------------------- ------------------

5                  0

从结果可以看出,greatest ()函数的作用是:找出列表中最大的值,而least()是找出列表中最小的值。

找个时间继续扩充,希望大家也帮助我继续扩充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值