oracle 的wecate函数,1.Oracle中decode()函数用法

1.Oracle中decode函数用法

含义解释:

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

用法

(1)比较大小,取得较大值(较小值)

select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值

select decode(sign(变量1-变量2),1,变量1,变量2) from dual; --取较大值

PS: sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1

(2)结合Lpad函数,如何使主键的值自动加1并在前面补0

eg:select LPAD(decode(count(记录编号),0,1,max(to_number(记录编号)+1)),14,'0') 记录编号 from tetdmis

Ps:lpad函数从左边对字符串使用指定的字符进行填充,语法为lpad( string, padded_length, [ pad_string ] )

(3)分别返回一个表中性别为男和女的用户的个数:

select sum(decode(性别,男,1,0)) 男,sum(decode(性别,女,1,0)) 女 from 表

(4)在查询语句中把空值输出为0

<1>select nvl(null,0) from dual 或

<2>select decode(cloum_name,null,0,cloum_name) from dual;

Ps:网上学习加上自己遇到问题整理,非100%原创。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值