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

पोस्टग्रेज 9.1+ फ़ंक्शन में मिश्रित इंट और संख्यात्मक तर्कों का उपयोग कैसे करें

इस क्षण में बहुरूपी प्रकार सख्त हैं - अन्य मामलों में, PostgreSQL सबसे सामान्य प्रकार में स्थिरांक डालने का प्रयास करता है, लेकिन यह चरण बहुरूपी प्रकारों के लिए गायब है - इसलिए इस मामले में, जब आपने समस्या का वर्णन किया है, तो आपको स्पष्ट रूप से डालना होगा या आप बहुरूपी प्रकारों का उपयोग नहीं करना चाहिए। प्लान बी खत्म हो गया है फ़ंक्शन ओवरलोडिंग

CREATE OR REPLACE FUNCTION public.icase1(cond1 boolean,
                                         res1 integer, conddefault integer)
RETURNS integer AS $$
SELECT CASE WHEN $1 THEN $2 ELSE $3 END;
$$ LANGUAGE sql;

CREATE OR REPLACE FUNCTION public.icase1(cond1 boolean,
                                         res1 numeric, conddefault numeric)
RETURNS numeric AS $$
SELECT CASE WHEN $1 THEN $2 ELSE $3 END;
$$ LANGUAGE sql;

तब आपका कोड अपेक्षानुसार काम करेगा:

postgres=> select icase1(true, 1.0, 0);
 icase1 
--------
    1.0
(1 row)

postgres=> select icase1(true, 1.0, 1.0);
 icase1 
--------
    1.0
(1 row)

postgres=> select icase1(true, 1, 0);
 icase1 
--------
      1
(1 row)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं PostgreSQL में अस्थायी रूप से ट्रिगर्स को कैसे अक्षम कर सकता हूं?

  2. पीएल/पीजीएसक्यूएल फ़ंक्शन से अज्ञात कॉलम के साथ गतिशील तालिका लौटाएं

  3. हरोकू पर रेल 3.1 में उच्चारण असंवेदनशील खोज को पोस्टग्रेज करता है

  4. एक्सेल से पोस्टग्रेएसक्यूएल में डेटा आयात करें

  5. पोस्टग्रेज त्रुटि:एक अभिव्यक्ति के रूप में उपयोग की जाने वाली सबक्वेरी द्वारा लौटाई गई एक से अधिक पंक्तियाँ