Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ओरेकल:मैं एक SQL क्वेरी में एक प्राकृतिक ऑर्डर-बाय कैसे कार्यान्वित कर सकता हूं?

आप अपने ऑर्डर-बाय क्लॉज में फ़ंक्शंस का उपयोग कर सकते हैं। इस मामले में, आप फ़ील्ड के गैर-संख्यात्मक और संख्यात्मक भागों को विभाजित कर सकते हैं और उन्हें दो आदेश मानदंड के रूप में उपयोग कर सकते हैं।

select * from t
 order by to_number(regexp_substr(a,'^[0-9]+')),
          to_number(regexp_substr(a,'[0-9]+$')),
          a;

आप इसका समर्थन करने के लिए एक फ़ंक्शन-आधारित अनुक्रमणिका भी बना सकते हैं:

create index t_ix1
    on t (to_number(regexp_substr(a, '^[0-9]+')),
          to_number(regexp_substr(a, '[0-9]+$')), 
          a);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 कार्य जो Oracle में एक तिथि से दिन, महीना और वर्ष प्राप्त करते हैं

  2. Oracle निष्क्रिय कनेक्शन

  3. जावा संग्रहीत कार्यविधि में java.sql.blob उदाहरण बनाएँ

  4. Oracle अद्यतन व्यवहार के लिए चयन करें

  5. एकल-निर्देशित DBLink के माध्यम से तालिका को एक Oracle DB से दूसरे में कॉपी करना