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

कैसे करें to_number गैर-संख्यात्मक मानों को अनदेखा करें

सामान्य तौर पर संबंधपरक डेटाबेस में, मूल्यांकन का क्रम परिभाषित नहीं होता है, इसलिए यह संभव है कि select फ़ंक्शन को where . से पहले बुलाया जाता है खंड डेटा को फ़िल्टर करता है। मुझे पता है कि SQL सर्वर में यह मामला है। यहां एक पोस्ट है जो बताती है कि Oracle में भी ऐसा ही हो सकता है।

case बयान, हालांकि, कैस्केड करता है, इसलिए इसका मूल्यांकन क्रम में किया जाता है। इस कारण से, मुझे पसंद है:

select (case when NOT regexp_like(xy,'[^[:digit:]]') then to_number(xy)
        end)
from ABC;

यह NULL लौटाएगा उन मानों के लिए जो संख्याएँ नहीं हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LENGTH कमांड का अजीब व्यवहार - ORACLE

  2. SQL:दिए गए मान वाले स्तंभों की सूची खोजें (एक पंक्ति के भीतर)

  3. Oracle डेटाबेस में FORALL स्टेटमेंट का परिचय

  4. पैरामीटर के साथ Oracle में फ़ंक्शन कैसे निष्पादित करें

  5. Oracle एकाधिक तालिकाओं से पंक्तियों को हटा रहा है