表达式:DECODE(base_expr,compare1,value1,compare2,value2,….default)
DECODE函数与一系列嵌套的IF-THEN-ELSE语句相似。base_exp与compare1,compare2等等依次进行比较。如果base_exp和第i个compare项匹配,就返回第i个对应的value。如果base_exp与任何的compare值都不匹配,则返回default。每个compare值顺次求值,如果发现一个匹配,则剩下的compare值(如果还有的话)就都不再求值。一个为NULL的base_exp被认为和NULLcompare值等价。如果需要的话,每一个compare值都被转换成和第一个compare值相同的数据类型,这个数据类型也是返回值的类型。
例如:DECODE(blood_test_flag,’Y’,’Yes’,’N’,’No’,NULL,’None’,’Invalid)
本文介绍DECODE函数的工作原理,该函数类似于嵌套的IF-THEN-ELSE语句,用于比较并返回相应的值。同时说明了如何处理NULL值及数据类型的转换。

10万+

被折叠的 条评论
为什么被折叠?



