如何在 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
添加您想要的任何条件——如果需要,包括子查询。
我正在做一份报告,对于这份报告,我需要确保在 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
添加您想要的任何条件——如果需要,包括子查询。