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

oracle sql क्वेरी में सीमित वर्ण लौटाए गए हैं

थोड़े से प्रयास से ही। कुछ इस तरह:

select listagg((case when running_len < 4000 then oi.impression end), ',') within group (order by oi.line)
from (select oi.*,
             sum(length(oi.impression) + 1) over (partition by ?? order by oi.line) as running_len
      from order_impression oi
     ) oi
group by ??;

यह चलने की लंबाई की गणना करता है और केवल उन मानों को एकत्रित करता है जो लंबाई से अधिक नहीं होते हैं। ?? जो कुछ भी आप एकत्रीकरण के लिए उपयोग कर रहे हैं। यह मान लेता है कि line अद्वितीय है, इसलिए order by स्थिर है।

इसमें impression . शामिल नहीं होगा जो लंबाई से अधिक है -- और उसके बाद कुछ भी नहीं। यह छाप को नहीं काटता है। वह तर्क संभव है, लेकिन यह क्वेरी को जटिल बनाता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JDBC से Oracle ऑब्जेक्ट-ओरिएंटेड PL/SQL सदस्य प्रक्रियाओं को कॉल करें

  2. पीएल/एसक्यूएल संग्रहित प्रक्रिया कर्सर को वीबीए एडीओडीबी.रिकॉर्डसेट?

  3. .NET कोड से कनेक्ट करते समय Oracle कनेक्शन ओपन एरर

  4. SQL Oracle LEFT JOIN और SUBQUERY त्रुटि:ORA-00905:अनुपलब्ध कीवर्ड

  5. Oracle में किसी तिथि में AD/BC संकेतक कैसे जोड़ें?