sql server - ISNULL() के लिए PostgreSQL समतुल्य क्या है




sql-server (4)

मैं ISNULL () कार्यक्षमता का अनुकरण कैसे करूं?

SELECT (Field IS NULL) FROM ...

एमएस एसक्यूएल-सर्वर में, मैं कर सकता हूं:

SELECT ISNULL(Field,'Empty') from Table

लेकिन PostgreSQL में मुझे एक वाक्यविन्यास त्रुटि मिलती है। मैं ISNULL() कार्यक्षमता का अनुकरण कैसे करूं?


इसके बजाय COALESCE() उपयोग करें:

SELECT COALESCE(Field,'Empty') from Table;

यह ISNULL तरह बहुत अधिक काम करता है, हालांकि अधिक कार्यक्षमता प्रदान करता है। Coalesce सूची में पहला गैर शून्य मूल्य वापस कर देगा। इस प्रकार:

SELECT COALESCE(null, null, 5); 

5 देता है, जबकि

SELECT COALESCE(null, 2, 5);

रिटर्न 2

Coalesce बड़ी संख्या में तर्क ले जाएगा। अधिकतम दस्तावेज नहीं है। मैंने परीक्षण किया कि यह 100 तर्क होगा और यह सफल रहा। यह विशाल परिस्थितियों के लिए बहुत होना चाहिए।


प्रयत्न:

SELECT COALESCE(NULLIF(field, ''), another_field) FROM table_name

SELECT CASE WHEN field IS NULL THEN 'Empty' ELSE field END AS field_alias

या अधिक मूर्खतापूर्ण:

SELECT coalesce(field, 'Empty') AS field_alias




null