L'utilisation du décodage Oracle est "DECODE (expression, condition 1, résultat 1, condition 2, résultat 2, ..., résultat par défaut)", l'expression est le champ ou l'expression à comparer et peut être de n'importe quel type de données valeur, qui à son tour est comparée à la condition. La condition peut être un champ ou une constante, et le résultat peut être un champ, une constante ou une expression. Lorsqu'une expression est égale à une condition, la fonction DECODE renvoie le résultat correspondant à la condition.
L'environnement d'exploitation de cet article : système Windows 10, Oracle version 19c, ordinateur Dell g3.
La fonction DECODE dans Oracle est une fonction d'expression conditionnelle, sa fonction principale est de renvoyer le résultat correspondant selon les conditions données. C'est similaire à l'instruction switch ou à l'instruction if-else dans d'autres langages de programmation. La fonction DECODE accepte plusieurs paramètres, effectue des calculs selon des règles spécifiques et renvoie un résultat. L'utilisation de la fonction DECODE sera présentée en détail ci-dessous. L'utilisation de base de la fonction
DECODE est la suivante :
DECODE(expression, condition 1, résultat 1, condition 2, résultat 2, ..., résultat par défaut)
Expression est le champ ou l'expression à comparer, qui peut être une valeur de n'importe quel type de données qui est comparée à son tour à une condition. La condition peut être un champ ou une constante, et le résultat peut être un champ, une constante ou une expression. Lorsqu'une expression est égale à une condition, la fonction DECODE renvoie le résultat correspondant à la condition. Si l'expression n'est pas égale à toutes les conditions, la fonction DECODE renvoie un résultat par défaut. Il convient de noter que la fonction DECODE ne peut être utilisée que pour une comparaison d'égalité et ne peut pas effectuer d'autres opérations de comparaison (telles que supérieur à, inférieur à, etc.).
Ce qui suit est un exemple de fonction DECODE :
SELECT last_name, salary, DECODE(job_id, 'IT_PROG', salary * 1.1, 'SA_REP', salary * 1.2, salary) AS new_salary FROM employees;
La requête ci-dessus renverra le nom de famille, le salaire de l'employé et calculera de nouveaux salaires en fonction de différents emplois. Si le poste de l'employé est 'IT_PROG', le nouveau salaire est 1,1 fois le salaire d'origine ; s'il s'agit de 'SA_REP', le nouveau salaire est 1,2 fois le salaire d'origine pour les employés des autres emplois, le nouveau salaire est égal au ; salaire initial.
La fonction DECODE peut également être comparée en fonction de plusieurs conditions. Dans ce cas, plusieurs paires de conditions et de résultats peuvent être utilisées. L'ordre de comparaison est basé sur l'ordre des paramètres. Par exemple :
SELECT last_name, job_id, DECODE(job_id, 'IT_PROG', 'IT', 'SA_REP', 'Sales', 'HR_REP', 'HR', 'OTHER') AS department FROM employees;
La requête ci-dessus renverra le nom de famille de l'employé, son poste et le nom du service correspondant en fonction des différents postes. À ce stade, si le poste de l'employé est « IT_PROG », alors « IT » est renvoyé ; s'il s'agit de « SA_REP », alors « Ventes » est renvoyé ; s'il s'agit de « HR_REP », alors « HR » est renvoyé ; d'autres travaux, 'OTHER' est renvoyé.
Résumé
La fonction DECODE est une fonction d'expression conditionnelle très couramment utilisée dans Oracle, qui peut renvoyer différents résultats selon différentes conditions. Il est flexible et concis, et peut gérer divers jugements conditionnels et renvoyer des résultats corrects. Dans les requêtes réelles, la fonction DECODE est souvent utilisée pour la conversion des valeurs de champ, le nettoyage des données, le jugement des conditions, etc., ce qui facilite grandement le traitement et l'analyse des données
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!