Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengutamakan Mata Wang USD dalam Pertanyaan SQL Oracle?

Bagaimana untuk Mengutamakan Mata Wang USD dalam Pertanyaan SQL Oracle?

DDD
Lepaskan: 2024-12-23 19:29:17
asal
839 orang telah melayarinya

How to Prioritize USD Currency in Oracle SQL Queries?

Pesanan Tersuai dalam Oracle SQL: Mengutamakan Mata Wang

Apabila menanyakan data yang mengandungi transaksi dalam pelbagai mata wang, keperluan sering timbul untuk memesan keputusan berdasarkan pada keutamaan tersuai. Dalam senario khusus ini, keperluan adalah untuk meletakkan mata wang USD di bahagian atas pesanan, diikuti oleh mata wang lain yang diisih dalam tertib menaik.

Oracle SQL menyediakan beberapa kaedah untuk mencapai pesanan tersuai ini. Satu pendekatan melibatkan penggunaan ungkapan CASE, yang memberikan nilai berangka atau rentetan aksara kepada setiap mata wang:

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
Salin selepas log masuk

Sebagai alternatif, fungsi DECODE boleh digunakan untuk melaksanakan pemetaan yang sama:

order by decode(currency, 'USD', 1, 'BHT', 2, 'JPY', 3, 'MYR', 4, 5)
Salin selepas log masuk

Walau bagaimanapun, kaedah ini bergantung pada penetapan mata wang secara jelas mengikut urutan keutamaan, yang boleh menjadi menyusahkan jika senarai mata wang adalah luas atau tertakluk kepada perubahan.

Untuk memastikan pesanan yang konsisten tanpa mengira bilangan atau jenis mata wang dalam data, pendekatan lain ialah menukar mata wang kepada nilai aksara dan menggunakan susunan abjad:

order by 
    case 
       when currency = 'USD' then '001' 
       else currency
    end
Salin selepas log masuk

Memandangkan aksara diisih selepas digit berangka, kaedah ini berkesan meletakkan USD di bahagian atas pesanan dan mengisih mata wang yang tinggal mengikut abjad.

Atas ialah kandungan terperinci Bagaimana untuk Mengutamakan Mata Wang USD dalam Pertanyaan SQL Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan