DECODE()函数,它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。
区别于SQL的其它函数,DECODE函数还能识别和操作空值。
语法:DECODE(control_value,value1,result1[,value2,result2…][,default_result]);
control _value试图处理的数值。DECODE函数将该数值与后面的一系列的偶序相比较,以决定返回值。
value1是一组成序偶的数值。如果control _value返回值与之匹配成功,则相应的结果result1将被返回,反之就与下个序偶相比较.
如果对应一个空的返回值,可以使用关键字NULL于之对应
result1 是一组成序偶的结果值。
default_result 未能与任何一个值匹配时,函数返回的默认值。
例如:
selectdecode( x , 1 , ‘x is 1 ’, 2 , ‘x is 2 ’, ‘others’) from dual
当x等于1时,则返回‘x is 1’。
当x等于2时,则返回‘x is 2’。
否则,返回others’。
需要,比较2个值的时候,可以配合SIGN()函数一起使用。
SELECT DECODE( SIGN(5 -6), 1 'Is Positive', -1, 'Is Nagative', 'Is Zero')
同样,也可以用CASE实现:
SELECT CASE SIGN(5 - 6)
WHEN 1 THEN 'Is Positive'
WHEN -1 THEN 'Is Nagative'
ELSE 'Is Zero' END
FROM DUAL
在Oracle中利用sign函数实现if-elseif-end的功能 ,下面是decode和sign的组合使用
select 字段i,decode(sign(字段i-90+1), 1,'A',
decode(sign(字段i-75+1), 1,'B',
decode(sign(字段i-60+1),1,'C','D')
)
) grade_char
from table
order by grade_char,字段i;
分享到:
相关推荐
5. 条件函数:如IFNULL(如果为空则替换)、NVL(空值替换)、DECODE(根据条件返回值)等,处理可能出现的空值情况。 6. 聚合函数:如COUNT(计数)、SUM(求和)、AVG(平均值)、MAX/MIN(最大值/最小值)等,...
Oracle的DECODE函数是一种条件表达式,用于在SQL语句中执行类似于IF...THEN...ELSE逻辑判断的功能。它根据一个指定的表达式的值,与一系列的条件进行比较,如果匹配到某个条件,则返回对应的值;如果没有匹配任何...
2. DECODE函数:根据条件判断进行选择性值转换。 3. DUMP函数:返回字符集、长度、数据类型和字符表示的表达式。 4. EMPTY_CLOB函数:返回一个空的CLOB(Character Large Object)值。 5. EMPTY_BLOB函数:返回一个...
1. DECODE函数:提供了一种类似if-then-else的逻辑判断。 2. CASE函数:提供了一个基于条件的逻辑结构。 其他函数 文件内容没有提供其他类型的函数示例,但Oracle中存在很多其他功能的函数,比如: 1. NVL函数:...
### Oracle中Decode()函数的有关用法 #### 一、Decode()函数简介 在Oracle数据库中,`DECODE()`函数是一种非常实用的功能,主要用于条件判断并返回特定的值。它提供了一种简单的方法来实现多分支逻辑判断,尤其是...
"Oracle函数总结" Oracle数据库提供了多种函数来处理不同的数据类型,包括字符函数、数值函数、日期函数、转换函数、通用函数等。下面将对这些函数进行详细的介绍。 字符函数 字符函数用于处理字符串数据,常用的...
Oracle中的Decode()函数是数据库查询时非常实用的一个工具,它允许你在SQL语句中实现简单的条件判断,类似于IF-THEN-ELSE逻辑。这个函数在处理数据时提供了灵活性,避免了复杂的CASE语句,使得代码更加简洁易读。...
5. 条件函数:如DECODE()根据条件返回不同值,NVL()和NVL2()用于处理NULL值。 6. 集合函数:如COUNT()计算数量,AVG()求平均值,MAX()和MIN()找出最大最小值。 7. 模式匹配函数:LIKE和REGEXP_LIKE()用于模式匹配和...
1. 数值函数:这类函数主要用于数学运算,如`ROUND()`用于四舍五入,`TRUNC()`用于截断小数部分,`MOD()`计算两个数的余数,`DECODE()`则允许根据指定条件返回不同的数值。 2. 字符串函数:字符串处理在数据库操作...
在这个"Oracle函数大全中文"资源中,包含了对Oracle数据库中各种函数的详细解释,这些函数涵盖了数值型、字符型、日期型、转换、聚组以及分析等多个方面。下面我们将逐一深入探讨这些重要的知识点。 1. 数值型函数...
在Oracle数据库中,DECODE函数是一个非常实用的工具,它允许你在SQL查询中进行条件判断,将特定的值转换为其他值。DECODE函数在处理列转行的问题时,尤其适用于将多列数据合并到一行中,使得数据展示更加简洁明了。...
1. ASCII函数:ASCII函数返回一个字符的ASCII码值,即对应字符的十进制数。例如,ASCII('A')返回65,ASCII('a')返回97,ASCII('0')返回48,ASCII(' ')返回32。 2. CHR函数:CHR函数用于将整数转换为其对应的字符。...
Decode函数的语法结构如下: decode (expression, search_1, result_1) decode (expression, search_1, result_1, search_2, result_2) decode (expression, search_1, result_1, search_2, result_2, ...., ...
2. "oracle函数介绍(2) 非著名函数之单值函数.doc":这部分可能会介绍一些不那么常用但同样重要的单值函数,如DECODE()(根据条件返回不同值)、NVL()(处理NULL值)和TO_CHAR()(将数据转换为字符格式)。...
Oracle中的DECODE函数是一种非常实用的工具,它允许你在SQL查询中执行简单的条件判断和返回相应的值。这个函数类似于IF-THEN-ELSE语句的简写形式,减少了编写复杂逻辑的代码量,使得SQL语句更加简洁易读。 DECODE...
1. ASCII函数:ASCII函数返回与给定字符对应的十进制数字。例如,ASCII('A')返回65,ASCII('a')返回97,ASCII('0')返回48,ASCII(' ')返回32。 2. CHR函数:CHR函数接收一个整数参数,并返回与该整数对应的字符。...
18. 字符串解码函数:`decode(string text, type text)` 该函数用于将早先用 encode 编码的二进制数据解码。例如,`decode('MTIzAAE=', 'base64')`将返回`'123\000\001'`。 19. 字符串编码函数:`encode(data byte...
11. 逻辑函数:AND, OR, NOT用于逻辑运算,DECODE()和NVL2()提供条件判断的简写形式。 12. 分析函数:如LAG(), LEAD(), FIRST_VALUE(), LAST_VALUE(),以及RANK(), DENSE_RANK(), ROW_NUMBER()等,它们在窗口查询中...