>데이터 베이스 >MySQL 튜토리얼 >Oracle SQL에서 통화 결과를 사용자 정의 주문하려면 어떻게 해야 합니까?

Oracle SQL에서 통화 결과를 사용자 정의 주문하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-29 21:48:11864검색

How Can I Custom Order Currency Results in Oracle SQL?

Oracle SQL의 사용자 정의 통화 순서

다양한 통화로 거래 작업을 수행할 때 통화 순서를 사용자 정의하는 것이 유용할 수 있습니다. 표시됩니다. 일반적으로 필요한 것 중 하나는 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)이 반환됩니다.

참고:

  • CASE 또는 DECODE 표현식에 사용되는 우선순위 번호는 무엇이든 가능합니다. 고유한 값이지만 단순화를 위해 순차적인 숫자를 사용하는 것이 좋습니다.
  • 다른 통화가 있는 경우 문자 값을 우선순위로 사용할 수 있습니다. 예:

    ORDER BY
      CASE
          WHEN currency = 'USD' THEN '001'
          ELSE currency
      END
  • 이 방법에서는 결과 집합에 표시될 통화의 정확한 목록을 알고 있다고 가정합니다. 예상치 못한 통화가 있는 경우 사용된 표현에 따라 실제 알파벳 순서 또는 숫자 값을 기준으로 정렬됩니다.

위 내용은 Oracle SQL에서 통화 결과를 사용자 정의 주문하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.