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

MySQL 4 में अल्पविराम से अलग किए गए कॉलम को सारांशित करना (5 नहीं)

इस तरह के गैर-तुच्छ स्ट्रिंग जोड़तोड़ करने के लिए, आपको संग्रहीत प्रक्रियाओं का उपयोग करने की आवश्यकता है, जो कि MySQL के लिए, केवल 6 साल पहले संस्करण 5.0 में दिखाई दिया था।

MySQL 4 अब बहुत पुराना है, 2008 में शाखा 4.1 का नवीनतम संस्करण 4.1.25 था। यह अब समर्थित नहीं है। अधिकांश लिनक्स वितरण अब इसे प्रदान नहीं करते हैं। यह वास्तव में अपग्रेड करने का समय है।

यहाँ एक समाधान है जो MySQL 5.0+ के लिए काम करता है:

DELIMITER //
CREATE FUNCTION SUM_OF_LIST(s TEXT)
  RETURNS DOUBLE
  DETERMINISTIC
  NO SQL
BEGIN
  DECLARE res DOUBLE DEFAULT 0;
  WHILE INSTR(s, ",") > 0 DO
    SET res = res + SUBSTRING_INDEX(s, ",", 1);
    SET s = MID(s, INSTR(s, ",") + 1);
  END WHILE;
  RETURN res + s;
END //
DELIMITER ;

उदाहरण:

mysql> SELECT SUM_OF_LIST("5,2.1") AS Result;
+--------+
| Result |
+--------+
|    7.1 |
+--------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django - mysqlclient त्रुटि स्थापित करना:mysqlclient 1.3.13 या नया आवश्यक है; आपके पास 0.9.3 . है

  2. SQLSTATE [HY000]:सामान्य त्रुटि:1835 LARAVEL पर विकृत संचार पैकेट

  3. MySQL क्रॉस पर हाइबरनेट अपवाद क्वेरी में शामिल हों

  4. सिद्धांत और सिम्फनी 2 के साथ कस्टम डीक्यूएल फ़ंक्शन का उपयोग करते समय त्रुटि

  5. सभी MySQL डेटाबेस को एक बार में निर्यात और आयात करें