Maison > base de données > tutoriel mysql > Comment puis-je personnaliser les résultats de la devise de commande dans Oracle SQL ?

Comment puis-je personnaliser les résultats de la devise de commande dans Oracle SQL ?

Barbara Streisand
Libérer: 2024-12-29 21:48:11
original
864 Les gens l'ont consulté

How Can I Custom Order Currency Results in Oracle SQL?

Ordre personnalisé des devises dans Oracle SQL

Lorsque vous travaillez avec des transactions dans différentes devises, il peut être utile de personnaliser l'ordre dans lequel elles sont affiché. Un besoin courant est qu'une devise spécifique, telle que l'USD, apparaisse toujours en haut de la liste, suivie des devises restantes par ordre croissant.

Pour y parvenir dans Oracle SQL, vous pouvez utiliser la commande CASE. ou DECODE dans la clause ORDER BY. Voici comment :

Expression CASE :

ORDER BY
    CASE
        WHEN currency = 'USD' THEN 1
        WHEN currency = 'BHT' THEN 2
        WHEN currency = 'JPY' THEN 3
        WHEN currency = 'MYR' THEN 4
        ELSE 5
    END
Copier après la connexion

Dans cet exemple, USD se voit attribuer une priorité de 1, BHT se voit attribuer une priorité de 2, et ainsi de suite . Les devises restantes se voient attribuer une priorité par défaut de 5. Le résultat sera trié avec USD en haut, suivi de BHT, JPY et MYR.

DECODE Expression (Spécifique à Oracle) :

ORDER BY DECODE(currency, 'USD', 1, 'BHT', 2, 'JPY', 3, 'MYR', 4, 5)
Copier après la connexion

La fonction DECODE fonctionne de manière similaire à l'expression CASE. Il prend une valeur (devise dans ce cas) et la compare à une liste de conditions de recherche. Si une correspondance est trouvée, le résultat correspondant est renvoyé. Sinon, la valeur par défaut (5 dans ce cas) est renvoyée.

Remarques :

  • Les numéros de priorité utilisés dans les expressions CASE ou DECODE peuvent être n'importe lesquels valeurs uniques, mais l'utilisation de nombres séquentiels est recommandée pour des raisons de simplicité.
  • Si vous souhaitez que l'USD apparaisse en haut quelles que soient les autres devises présentes, vous peut utiliser une valeur de caractère comme priorité, par exemple :

    ORDER BY
      CASE
          WHEN currency = 'USD' THEN '001'
          ELSE currency
      END
    Copier après la connexion
  • Cette méthode suppose que vous connaissez la liste exacte des devises qui apparaîtront dans le jeu de résultats. S'il existe des devises imprévues, elles seront triées selon leur ordre alphabétique réel ou leur valeur numérique, selon l'expression utilisée.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal