Maison >base de données >tutoriel mysql >Comment puis-je personnaliser les résultats de la devise de commande dans 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
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)
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 :
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
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!