Heim > Datenbank > MySQL-Tutorial > Wie kann ich benutzerdefinierte Währungsergebnisse in Oracle SQL bestellen?

Wie kann ich benutzerdefinierte Währungsergebnisse in Oracle SQL bestellen?

Barbara Streisand
Freigeben: 2024-12-29 21:48:11
Original
855 Leute haben es durchsucht

How Can I Custom Order Currency Results in Oracle SQL?

Benutzerdefinierte Währungsreihenfolge in Oracle SQL

Bei der Arbeit mit Transaktionen in verschiedenen Währungen kann es hilfreich sein, die Reihenfolge, in der sie erfolgen, anzupassen angezeigt. Ein häufiger Bedarf besteht darin, dass eine bestimmte Währung, z. B. USD, immer ganz oben in der Liste angezeigt wird, gefolgt von den übrigen Währungen in aufsteigender Reihenfolge.

Um dies in Oracle SQL zu erreichen, können Sie CASE verwenden oder DECODE-Ausdruck in der ORDER BY-Klausel. So geht's:

CASE-Ausdruck:

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
Nach dem Login kopieren

In diesem Beispiel wird USD eine Priorität von 1, BHT eine Priorität von 2 usw. zugewiesen . Den übrigen Währungen wird eine Standardpriorität von 5 zugewiesen. Das Ergebnis wird mit USD an erster Stelle sortiert, gefolgt von BHT, JPY und MYR.

DECODE-Ausdruck (Oracle-spezifisch):

ORDER BY DECODE(currency, 'USD', 1, 'BHT', 2, 'JPY', 3, 'MYR', 4, 5)
Nach dem Login kopieren

Die DECODE-Funktion funktioniert ähnlich wie der CASE-Ausdruck. Es nimmt einen Wert (in diesem Fall eine Währung) und gleicht ihn mit einer Liste von Suchbedingungen ab. Wenn eine Übereinstimmung gefunden wird, wird das entsprechende Ergebnis zurückgegeben. Andernfalls wird der Standardwert (in diesem Fall 5) zurückgegeben.

Hinweise:

  • Die in den CASE- oder DECODE-Ausdrücken verwendeten Prioritätsnummern können beliebig sein eindeutige Werte, der Einfachheit halber wird jedoch die Verwendung fortlaufender Zahlen empfohlen.
  • Wenn Sie möchten, dass USD unabhängig von den anderen vorhandenen Währungen oben angezeigt wird, können Sie Folgendes verwenden ein Zeichenwert als Priorität, z. B.:

    ORDER BY
      CASE
          WHEN currency = 'USD' THEN '001'
          ELSE currency
      END
    Nach dem Login kopieren
  • Diese Methode setzt voraus, dass Sie die genaue Liste der Währungen kennen, die im Ergebnissatz angezeigt werden. Wenn unvorhergesehene Währungen vorhanden sind, werden diese je nach verwendetem Ausdruck nach ihrer tatsächlichen alphabetischen Reihenfolge oder ihrem numerischen Wert sortiert.

Das obige ist der detaillierte Inhalt vonWie kann ich benutzerdefinierte Währungsergebnisse in Oracle SQL bestellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage