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

कैसे जांचें कि Postgres . में कोई सरणी खाली है या नहीं

array_length() दो की आवश्यकता है पैरामीटर, दूसरा सरणी का आयाम है:

array_length(id_clients, 1) > 0

तो:

IF array_length(id_clients, 1) > 0 THEN
    query := query || format(' AND id = ANY(%L))', id_clients);
END IF;

इसमें खाली सरणी और both दोनों शामिल नहीं हैं शून्य।

या cardinality() पोस्टग्रेज 9.4 या बाद के संस्करण में। @bronzenose द्वारा जोड़ा गया उत्तर देखें।

लेकिन अगर आप किसी क्वेरी को EXECUTE . के साथ चलाने के लिए जोड़ रहे हैं , उपयोग . के साथ मानों को पास करना बेहतर होगा खंड। उदाहरण:

BTW, स्पष्ट रूप से जाँचने के लिए कि क्या कोई सरणी खाली है (जैसे आपका शीर्षक कहता है - लेकिन वह नहीं है आपको यहां क्या चाहिए) बस इसकी तुलना एक खाली सरणी से करें:

id_clients = '{}'

बस इतना ही। आपको मिलता है:

सच .. सरणी खाली है
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. स्प्रिंग बूट एप्लिकेशन हिकारी-पूल-1 पर अटक जाता है - प्रारंभ...

  2. Postgres उपयोगकर्ता मौजूद नहीं है?

  3. स्प्रिंग/हाइबरनेट/जेपीए के भीतर PostgreSQL फ़ंक्शंस (संग्रहीत प्रक्रियाओं) को सही तरीके से कैसे कॉल करें?

  4. दो तिथियों के बीच दिनों/महीनों/वर्षों (दिनांक) का अंतर कैसे प्राप्त करें?

  5. PHP PgSQL डेटाबेस के लिए PDO क्लास कंस्ट्रक्टर में UTF-8 कैसे सेट करें