यहाँ Postgresql 9.2.4 पर सेटअप है:PostgreSQL नहीं iLike खंड अशक्त स्ट्रिंग शामिल नहीं है महत्व देता
CREATE TABLE table (
id integer NOT NULL,
some_text text
);
अब हम, some_text
के लिए एक शून्य या खाली स्ट्रिंग के साथ एक रिकॉर्ड दर्ज है, ताकि जब हम क्वेरी:
SELECT * FROM table WHERE some_text IS NULL;
मुझे प्रवेश वापस मिल गया। अब तक सब ठीक है।
हालांकि, जब मैं क्वेरी:
SELECT * FROM table WHERE some_text NOT ILIKE "%anything%';
मुझे लगता है कि कुछ भी नहीं लौटाया गया। ऐसा क्यों है? मैं उम्मीद करता हूं कि एक शून्य या खाली स्ट्रिंग "anything
की तरह नहीं है"।
की तरह, अपने लक्ष्य को प्राप्त करने COALESCE उपयोग कर सकते हैं मुझे पसंद है आप * अज्ञात * के साथ स्पष्टीकरण हो, लेकिन मुझे यकीन है कि कैसे एसक्यूएल जोड़ता है नहीं कर रहा हूँ। एक 'जहां शून्य शून्य'% कुछ भी% 'अज्ञात क्यों है? – applepie
"युवा व्यक्ति, गणित में आप चीजों को समझ नहीं पाते हैं। आप बस उनके लिए उपयोग करते हैं।" - जॉन वॉन न्यूमैन –
ओस सास। क्या यह एक कठिन अनुवर्ती सवाल है? – applepie