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

आकाशवाणी। यदि पैरामीटर शून्य है तो सभी का चयन करें अन्यथा विशिष्ट आइटम समस्या लौटाएं

बस coalesce का उपयोग करें . इसे लिखने का यह सबसे पठनीय और समझने योग्य तरीका है। चूंकि तर्क एक विधेय में निहित है, इसलिए इसे बनाए रखना और हटाना आसान है:

select * from job where id = coalesce(:i, id)

अनुरोध के अनुसार, एक 'सबूत' यह वास्तव में सूचकांक का उपयोग करता है:

create table x ( id number(15) null );

create unique index x_pk on x( id );

select id
from   x
where  id = coalesce(:x, id)
; -- Uses index

select id
from   x
where  id = :x or :x is null
; -- Full table scan

योजना:



  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 का EXTRACT फ़ंक्शन XMLELEMENT में NOENTITYESCAPING को तोड़ रहा है?

  3. Oracle में KEEP के साथ और उसके बिना विभाजन

  4. ओरेकल में, क्या कॉमा द्वारा अलग किए गए बहुत बड़े स्ट्रिंग (क्लोब) को बेहतर प्रदर्शन के साथ तालिका में परिवर्तित करना संभव है

  5. Oracle - एक परिणाम में अधिक प्रश्न