如何在 DECODE 中创建两个条件

How to make two conditions within a DECODE

我正在做一份报告,对于这份报告,我需要确保在 Oracle 中的一个 DECODE 中满足两个条件,我最近知道函数 DECODE,这就是为什么我的问题出现。

DECODE的成就如下:

DECODE (CODE, 'PR', 'Number 1',
              'ES', 'Number 2',

为了满足我的两个条件,我需要他 CODE'PO' 并且他的 EQUIV 等于 85。这将是我在 DECODE 内需要满足的两个条件,以及我已经在工作的内容。

在 Oracle 官方文档中搜索我没有找到与我需要的类似的东西Documentation

不要使用 decode()。它是定制的 Oracle 语法。自古以来(几乎),SQL 就支持 case 表达式——它比 decode() 更灵活,并且在所有(真实)数据库中都可用。

因此,对于您的代码片段:

(CASE WHEN CODE = 'PR'
      THEN 'El Título de '
      WHEN CODE = 'ES'
      THEN 'El Diploma de '
      WHEN CODE = 'PO' AND EQUIV = 85
      THEN 'Jest absolwentem '
 END)

您可以向 WHEN 添加您想要的任何条件——如果需要,包括子查询。