oracle数据库问题
decode()的用法?作用?一般什么情况下使用?举个简单的例子?
decode()的用法?作用?一般什么情况下使用?举个简单的例子?
答案:decode函数相当于一条件语句,它将输入值与函数中的参数列表进行比较,根据输入值返回一个对应的值。
其具体的语法格式如下:
DECODE(input_value,value,result[,value,result…][,default_result]);
其中:
input_value 试图处理的数值。DECODE函数将该数值与一系列的序偶相比较,以决定最后的返回结果
value 是一组成序偶的数值。如果输入数值与之匹配成功,则相应的结果将被返回。对应一个空的返回值,可以使用关键字NULL于之对应
result 是一组成序偶的结果值
default_result 未能与任何一序偶匹配成功时,函数返回的默认值
什么情况下使用?这个不好说,很多地方可以用,但有点是肯定,他可以把内容转换成我们需要的值,比如有张人员信息表,性别一栏放的是字典内容,1男,2女,9未知,我们可以直接用decode,不关联数据字典
select xm,decode(xb , '1','男',2,'女','9','不男不女',null,'难道是人妖?','手术中') from ryxx;
其他:类似于IF
DECODE(对象, 值1, 结果1, 值2, 结果2, ...... [默认结果])
其中[]中得是不一定要写的.
IF 对象 = 值1
返回 结果1
elsif 对象 = 值2
返回 结果2
else
返回 默认结果
end if
上一个:我是64位Win7系统,最近装了32位 oracle 10g client(客户端),也装了pl/sql,连接不上数据库
下一个:Oracle数据库多表查询!急!!!在线等!!!