0
votes

Y a-t-il un moyen de produire le résultat d'une colonne de chaque ligne pour afficher une valeur différente dans oracledb à l'aide de PL / SQL?

J'ai une instruction SELECT qui a une colonne qui est une valeur de code. Par ex. Au lieu de Java, son JV, et au lieu de Python, sa py. Cependant, au lieu de sortir la valeur codée, je voudrais les afficher comme Java ou Python, c'est-à-dire. Leur description complète. Y a-t-il un moyen de le faire avec PL / SQL? Toute aide serait grandement appréciée, merci!


0 commentaires

4 Réponses :


2
votes

Vous pouvez utiliser CASE CODE> EXPRESSE

 decode(col, 'JV', 'Java',
             'PY', 'Python'
             'No Match'
        )


3 commentaires

Merci pour la réponse rapide. Et si j'ai d'autres colonnes pour sortir aussi, où dois-je écrire ce code?


@LoveProgramming Vous pouvez ajouter des colonnes comme Select Col1, Col2, Col3 de MyTable . Ou si vous devez avoir une déclaration de cas, ajoutez une autre déclaration .


Notez qu'il n'est pas nécessaire de répéter la partie "myColumn =" de la comparaison sur chaque condition. Vous pouvez faire cela s'il y a un calcul complètement différent pour chaque condition, mais lorsque vous faites un décodage simple, vous pouvez simplement dire "cas mycolumn quand" JV "puis" Java "..."



1
votes

étant donné que vous utilisez oracle, je vous recommanderais d'utiliser la fonction décodage : xxx


0 commentaires

1
votes

Vous pouvez utiliser la fonction "décodage" ou une construction "cas", comme suit:

select DECODE(my_column,
              'JV','Java',
              'PY','Python',
              'no_match_found') my_column_alias 
from my_table;

select
   case my_column 
      when 'JV' then 'Java'
      when 'PY' then 'Python'
      else 'no_match_found'
   end my_column_alias
from my_table;


0 commentaires

0
votes

Bien qu'il existe plusieurs façons de coder durement, les données d'échantillonnage données, aucune n'est la méthode appropriée pour plus d'un ensemble très limité. La méthode appropriée consiste à créer une table de recherche. Dans ce cas, contient le code et le nom correspondant. Oui, il est assez excédent pendant 2 langues, mais que diriez-vous de Index Tiobe ou 700 énumérés à Wikipedia, ou les 9000 estimés environ 9000 dans la liste HOPL. Voir ici et liens supplémentaires plus. de
de
De plus, c'est une technique technique standard à la question sous-jacente OP: existe-t-il un moyen de donner des détails sur une valeur de code donnée. Il est facilement étendu (il suffit d'ajouter une ligne à une table) et applicable à travers pratiquement tous les domaines (Abet avec de légères modifications). XXX

Essayez-le avec vos valeurs codées dures. Ajoutez ensuite 30 - 40 autres ...


0 commentaires