oracle实用函数

1、decode函数

DECODE(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
DECODE(字段,比较1,值1,比较2,值2,.....,比较n,值n缺省值)  
该函数的含义如下:
IF 条件=值1 THEN
    RETURN(翻译值1)
ELSIF 条件=值2 THEN
    RETURN(翻译值2)
    ......
ELSIF 条件=值n THEN
    RETURN(翻译值n)
ELSE
    RETURN(缺省值)
END IF

通过该函数能够实现表的行列转换。

2、nvl和nvl2函数

NVL(eExpression1,eExpression2)
如果eExpression1的计算结果为null值,则NVL()返回eExpression2。

如果eExpression1的计算结果不是null值,则返回eExpression1。

eExpression1和eExpression2可以是任意一种数据类型。

如果eExpression1与eExpression2的结果皆为null值,则NVL返回NULL。

NVL2(E1,E2,E3)
如果E1为null,则返回E3。
如果E1不为null,则返回E2。

3、ora_hash函数

ora_hash(str)计算参数的散列值。可以通过该函数+oracle11g的虚拟列技术(视图)实现oracle的乐观锁。

添加oracle的虚拟列:
SQL> alter table dept
  2  add hash as (ora_hash(dname || '/' || loc));

3、sys_guid函数

sys_guid()生成一个随机的UUID。

SQL> select sys_guid() from dual;
 
SYS_GUID()
--------------------------------
DDBF52D76C9D0885E040007F0100159A


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值