Oracle decode
时间: 2023-07-06 22:39:19 浏览: 96
oracle decode
在Oracle中,decode()函数用于在给定一系列条件时返回不同的结果。它的语法如下:
```
DECODE(expr, search1, result1, [search2, result2, ...], default_result)
```
其中,expr是要比较的表达式,search1、search2等是要比较的值,result1、result2等是与之匹配的结果。default_result是可选的,表示如果所有的值都不匹配,则返回的默认值。
decode()函数的工作原理是:从左到右依次比较expr和search1、search2等,如果匹配则返回对应的result1、result2等。如果所有的值都不匹配,则返回default_result(如果有定义的话)或者null。
下面是一个简单的例子,演示如何使用decode()函数:
```
SELECT DECODE(1, 1, 'One', 2, 'Two', 'Other') FROM dual;
```
这个例子中,我们比较1和search1(也是1),匹配成功,返回result1(也是'One')。如果比较的值不在search1、search2等中,则返回default_result(也就是'Other')。在这个例子中,2不在比较的值中,因此返回'Other'。
需要注意的是,在Oracle 10g及以后的版本中,decode()函数已经被官方推荐的CASE语句所取代。因此,如果你使用的是较新版本的Oracle数据库,建议使用CASE语句来代替decode()函数。
阅读全文