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

Oracle:NULL और EMPTY स्ट्रिंग के बीच अंतर

समस्या यह है कि Oracle (डिफ़ॉल्ट रूप से) खाली स्ट्रिंग्स को NULL . के रूप में मानता है . इसलिए:

where name = ''

के समान है:

where name = NULL

और दोनों हमेशा विफल होते हैं (क्योंकि वे NULL return लौटाते हैं )।

आप इसे विभिन्न तरीकों से ठीक कर सकते हैं। एक तरीका है:

where (name = INPUT or name is null and INPUT is null)

या, यदि आप जानते हैं कि कोई अमान्य नाम है:

where coalesce(name, '<invalid>') = coalesce(INPUT, '<invalid>')


  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. डेटा को हटाए बिना ऑरैकल में डेटा प्रकार बदलना

  3. अपठनीय गतिशील SQL के बिना Oracle डेटाबेस लिंक का उपयोग करना

  4. मेरे पास एक ट्रिगर स्वायत्त है लेकिन उसी सत्र में केवल एक बार निष्पादित करें

  5. SQL ट्रिगर त्रुटि - अमान्य ट्रिगर