Maison  >  Article  >  base de données  >  Quelles sont les utilisations de case when dans Oracle ?

Quelles sont les utilisations de case when dans Oracle ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2023-09-07 14:01:0512129parcourir

L'utilisation de case when dans Oracle est la suivante : 1. Utilisé dans la clause WHERE, CASE WHEN peut être utilisé pour implémenter des conditions de filtrage plus complexes, peut être utilisé pour imbriquer d'autres expressions conditionnelles et utiliser des opérateurs logiques (AND, OR, NOT) pour combiner des conditions ; 2. Utilisé dans la liste des colonnes SELECT, CASE WHEN peut être utilisé pour ajouter des colonnes supplémentaires aux résultats de la requête. Différentes valeurs peuvent être renvoyées en fonction des résultats d'une condition et affichées sous forme de nouvelles colonnes dans le jeu de résultats.

Quelles sont les utilisations de case when dans Oracle ?

Le système d'exploitation de ce tutoriel : système Windows 10, Oracle version 19c, ordinateur Dell G3.

L'instruction CASE WHEN est utilisée pour implémenter la logique conditionnelle dans Oracle. Il peut être utilisé dans la clause WHERE d'une instruction SELECT, ainsi que dans la liste de colonnes d'une instruction SELECT.

La syntaxe de base de l'instruction CASE WHEN est la suivante :

CASE  
    WHEN condition1 THEN result1  
    WHEN condition2 THEN result2  
    ...  
    ELSE result  
END

Dans la syntaxe ci-dessus, vous pouvez renvoyer différentes valeurs en fonction du résultat de la condition. Tout d'abord, il évalue chaque condition dans l'ordre, et une fois qu'il en trouve une qui satisfait la condition, renvoie le résultat correspondant, puis quitte l'expression CASE. Si aucune condition n'est remplie, vous pouvez utiliser la clause ELSE pour définir une valeur de retour par défaut.

Utilisation de CASE WHEN dans la clause WHERE

Dans la clause WHERE, CASE WHEN peut être utilisé pour implémenter des conditions de filtrage plus complexes. Vous pouvez l'utiliser pour imbriquer d'autres expressions conditionnelles et combiner des conditions à l'aide d'opérateurs logiques (AND, OR, NOT).

Voici un exemple qui montre comment utiliser CASE WHEN dans une clause WHERE :

SELECT column1, column2, ...  
FROM table  
WHERE  
    CASE  
        WHEN condition1 THEN true -- 如果条件1满足,返回true  
        WHEN condition2 THEN true -- 如果条件2满足,返回true  
        ELSE false -- 默认返回false  
    END;

Dans cet exemple, vrai ou faux est renvoyé en fonction du résultat de la condition. Vous pouvez utiliser ces conditions avec n’importe quelle expression ou fonction SQL légale.

Utilisation de CASE WHEN dans la liste des colonnes SELECT

Dans la liste des colonnes SELECT, CASE WHEN peut être utilisé pour ajouter des colonnes supplémentaires aux résultats de la requête. Vous pouvez renvoyer différentes valeurs en fonction du résultat d'une condition et les afficher sous forme de nouvelles colonnes dans le jeu de résultats.

Voici un exemple qui montre comment utiliser CASE WHEN dans une liste de colonnes SELECT :

SELECT column1, column2,   
    CASE  
        WHEN condition1 THEN result1 -- 如果条件1满足,返回result1  
        WHEN condition2 THEN result2 -- 如果条件2满足,返回result2  
        ELSE result -- 默认返回result  
    END AS new_column  
FROM table;

Dans cet exemple, différentes valeurs sont renvoyées en fonction du résultat de la condition et ces valeurs sont affichées dans l'ensemble de résultats en tant que nouvelle colonne "new_column" . Vous pouvez utiliser ces conditions avec n’importe quelle expression ou fonction SQL légale.

En résumé, l'instruction CASE WHEN fournit un moyen flexible d'implémenter la logique conditionnelle dans Oracle. Vous pouvez l'utiliser dans les clauses WHERE et les listes de colonnes SELECT pour implémenter des conditions de filtre plus complexes et ajouter des colonnes supplémentaires aux résultats de la requête.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn