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

Oracle SQL - पंक्तियों को जोड़कर स्ट्रिंग बनाएं लेकिन वर्णों की X संख्या से अधिक न हो

मैंने निम्नलिखित क्वेरी की कोशिश की और वांछित परिणाम प्राप्त किया।

SELECT
    LISTAGG(X, ',') WITHIN GROUP(
        ORDER BY
            X
    ) as result
FROM
    (
        SELECT
            X,
            SUM(LENGTH(X)) OVER(
            ORDER BY
                X
            ) LENGTH_X,
            COUNT(1) OVER(
            ORDER BY
                X
            ) - 1 AS COMMAS
        FROM
            (
                SELECT
                    LEVEL   X
                FROM
                    DUAL
                CONNECT BY
                    LEVEL <= 20
            )
    )
GROUP BY
    CEIL((LENGTH_X + COMMAS) / 15);

आउटपुट:

db<>fiddle डेमो

चीयर्स!!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल लोडर कमांड निष्पादित करते समय त्रुटि होने पर रोलबैक कैसे करें?

  2. PHP:oci_bind_by_name और टाइमस्टैम्प फ़ील्ड परिणाम ORA-01461 में:केवल एक लंबे कॉलम में सम्मिलित करने के लिए एक लंबा मान बाँध सकते हैं

  3. कैसे एक स्ट्रिंग की शुरुआत से अंक और विशेष वर्ण निकालने के लिए?

  4. पैरामीटर के साथ कमांड लाइन से SQL डेवलपर खोलें (कनेक्टस्ट्रिंग, उपयोगकर्ता, पासवॉर्ट ...)

  5. Oracle sql:ऑर्डर बाय और अलग क्लॉज