【发布时间】:2020-04-16 05:26:24
【问题描述】:
在阅读 decode 函数和 CASE WHEN 语句之间的区别时,我感到困惑,同时理解如果两者对于如下简单等式给出相同的结果:
DECODE(col1, 'ABC', 'DEF', 'OTHERS' ) AS COL2
CASE WHEN COL1 = 'ABC' THEN 'DEF'
ELSE 'OTHERS'
END AS COL2
那么函数和语句的功能有什么区别呢?
附言我知道 Case 能够处理更复杂的方程式……我的问题更多是关于理解函数和语句之间的差异。
【问题讨论】:
-
CASE是一个表达式,而不是一个语句 -
谢谢。许多网站,包括堆栈溢出(stackoverflow.com/questions/3193692/case-vs-decode)都有用户建议 case 是一个声明,所以我很困惑。