ホームページ >データベース >mysql チュートリアル >Oracle SQL で通貨結果をカスタムオーダーするにはどうすればよいですか?
Oracle SQL でのカスタム通貨順序
異なる通貨でトランザクションを処理する場合、トランザクションの順序をカスタマイズすると便利です。表示されます。一般的なニーズの 1 つは、USD などの特定の通貨を常にリストの先頭に表示し、その後に残りの通貨を昇順で表示することです。
Oracle SQL でこれを実現するには、CASE を使用できます。 ORDER BY 句の DECODE 式。方法は次のとおりです:
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
この例では、USD には優先度 1 が割り当てられ、BHT には優先度 2 が割り当てられます。 。残りの通貨には、デフォルトの優先順位 5 が割り当てられます。結果は、USD を先頭に、BHT、JPY、MYR が続くように並べ替えられます。
DECODE 式 (Oracle 固有):
ORDER BY DECODE(currency, 'USD', 1, 'BHT', 2, 'JPY', 3, 'MYR', 4, 5)
DECODE 関数は CASE 式と同様に機能します。値 (この場合は通貨) を受け取り、それを検索条件のリストと照合します。一致するものが見つかった場合は、対応する結果が返されます。それ以外の場合は、デフォルト値 (この場合は 5) が返されます。
注:
USD を先頭に表示したい場合他の通貨が存在するかどうかに関係なく、優先順位として文字値を使用できます。例:
ORDER BY CASE WHEN currency = 'USD' THEN '001' ELSE currency END
以上がOracle SQL で通貨結果をカスタムオーダーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。