Pour la fonction Oracle DECODE dans PostgreSQL, vous pouvez utiliser l'expression ou l'union CASE. L'expression CASE renvoie le premier résultat correspondant en fonction de la condition. La syntaxe est la suivante : CASE WHEN condition THEN résultat ELSE résultat END. Une union combine plusieurs instructions SELECT à l'aide de l'opérateur UNION ALL, renvoyant une table contenant les colonnes de résultats qui satisfont chaque condition.
Remplacement de la fonction Oracle DECODE dans PostgreSQL
La fonction Oracle DECODE est une fonction utilisée pour renvoyer différentes valeurs basées sur un jugement conditionnel. Il n'existe pas d'équivalent exact de la fonction DECODE dans PostgreSQL, mais vous pouvez utiliser des expressions ou des unions CASE
pour obtenir des fonctionnalités similaires. CASE
表达式或联合来实现类似的功能。
CASE 表达式
CASE
表达式的语法如下:
<code>CASE WHEN условие1 THEN результат1 WHEN условие2 THEN результат2 ... ELSE результат ELSE END</code>
它根据条件依次进行判断,并返回与第一个满足条件的结果。如果没有任何条件满足,则返回 ELSE
结果。
联合
联合是一种使用多个 SELECT 语句从多个表中检索数据的技术。它也可以用于实现 DECODE 函数的功能,方法是使用 UNION ALL
操作符组合多个 SELECT 语句:
<code>SELECT CASE WHEN условие1 THEN résultat1 ELSE NULL END AS результат_1 UNION ALL SELECT CASE WHEN условие2 THEN résultat2 ELSE NULL END AS результат_2 ...</code>
上述查询将返回一个表,其中每行都包含一个满足条件的结果列。
示例
假设我们有一个表 people
,其中包含以下列:
name
- 人员姓名gender
CASE
La syntaxe de l'expression est la suivante : <code>SELECT name, DECODE(gender, 'M', 'Mr.', 'Ms.') AS title
FROM people;</code>
ELSE
est renvoyé.
Join
Join est une technique qui utilise plusieurs instructions SELECT pour récupérer des données de plusieurs tables. Il peut également être utilisé pour implémenter la fonctionnalité de la fonction DECODE en combinant plusieurs instructions SELECT à l'aide de l'opérateur UNION ALL
: <code>SELECT name,
CASE
WHEN gender = 'M' THEN 'Mr.'
WHEN gender = 'F' THEN 'Ms.'
ELSE NULL
END AS title
FROM people;</code>
|
|
---|---|
PostgreSQL CASE Expression : | |
PostgreSQL Union : | rrreee |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!