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

पोस्टग्रेएसक्यूएल एग्रीगेट फंक्शन ओवर रेंज

आपके प्रयास में दो संशोधन हैं। सबसे पहले, मुझे नहीं लगता कि आप एक ऑपरेटर को SFUNC के रूप में उपयोग कर सकते हैं, इसलिए आपको प्रतिच्छेदन करने के लिए एक नामित फ़ंक्शन को परिभाषित करने और उसका उपयोग करने की आवश्यकता है।

CREATE or REPLACE FUNCTION int_tsrange(a tsrange, b tsrange)
   returns tsrange language plpgsql as 
      'begin return a * b; end';

दूसरे, किसी श्रेणी के लिए डिफ़ॉल्ट मान रिक्त श्रेणी है - इसलिए प्रतिच्छेदन हमेशा खाली रहेगा। आपको सीमा को एक अनंत श्रेणी में प्रारंभ करने की आवश्यकता है '[,]' कुल शुरू करने के लिए। तब समग्र परिभाषा इस तरह दिखती है:

CREATE AGGREGATE intersection ( tsrange ) (
    SFUNC = int_tsrange,
    STYPE = tsrange,
    INITCOND = '[,]'
);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. उपनाम कॉलम में शामिल हों SQL

  2. विदेशी कुंजी द्वारा लिंक की गई तालिकाओं में डेटा डालें

  3. PostgreSQL पर एक सशर्त अद्वितीय अनुक्रमणिका कैसे जोड़ें

  4. हरोकू रन रेक डीबी:माइग्रेट एरर

  5. postgresql, रिकॉर्ड डेटा प्रकार में कॉलम की पहचान नहीं कर सका