Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में फ़ील्ड मान से कॉमा की गिनती करना

LENGTH और REPLACE से वर्ण गिनती

किसी वर्ण (जैसे कॉमा) की घटनाएँ गिनने के लिए: कुल लंबाई - उस वर्ण को हटाने के बाद की लंबाई।

सिंटैक्स

SELECT LENGTH(col) - LENGTH(REPLACE(col, ',', '')) AS comma_count FROM table;

तालिका और डेटा

mysql> CREATE TABLE DemoTable1510 (Value VARCHAR(50));
mysql> INSERT INTO DemoTable1510 VALUES('20,35'), ('45,67,89'), ('90,97,101,190');

कॉमा गिनती क्वेरी

mysql> SELECT LENGTH(Value) - LENGTH(REPLACE(Value, ',', '')) AS NumberOfComma
    -> FROM DemoTable1510;

परिणाम

+---------------+
| NumberOfComma |
+---------------+
| 1             |
| 2             |
| 3             |
+---------------+

व्याख्या:

  • '20,35': लंबाई 5, बिना कॉमा '2035' लंबाई 4 → 5-4=1
  • '45,67,89': लंबाई 8, बिना कॉमा '456789' लंबाई 6 → 8-6=2
  • '90,97,101,190': लंबाई 13, बिना कॉमा '9097101190' लंबाई 10 → 13-10=3

सामान्यीकरण: किसी भी सबस्ट्रिंग के लिए: LENGTH(col) - LENGTH(REPLACE(col, 'substr', '')) / LENGTH('substr')

  1. - MySQL में REPLACE() से कॉलम मान में विशेष वर्ण बदलें

    MySQL का REPLACE() फ़ंक्शन किसी स्ट्रिंग में सभी घटनाओं को ढूंढकर नए स्ट्रिंग से बदल देता है। इसका उपयोग UPDATE के साथ करके कॉलम डेटा साफ़ कर सकते हैं। सिंटैक्स UPDATE टेबल_नाम SET कॉलम_नाम = REPLACE(कॉलम_नाम, पुराना_स्ट्रिंग, नया_स्ट्रिंग); उदाहरण: ______ को Mike_007 से बदलें 1. टेबल बनाएं CREA

  1. - MySQL में ENUM कॉलम से केवल 'NO' मानों की गणना करें

    MySQL में ENUM कॉलम पर सशर्त गणना के लिए बूलियन अभिव्यक्ति का योग (SUM(condition)) उपयोग कर सकते हैं। MySQL में TRUE = 1 और FALSE = 0 होता है। टेबल बनाएं mysql> CREATE TABLE DemoTable1829 ( Name VARCHAR(20), isTopper ENUM(YES,NO) ); डेटा डालें mysql> INSERT INTO DemoTable1829 VALUES(

  1. - MySQL में यूज़र-डिफ़ाइन्ड वेरिएबल से एक कॉलम का मान दूसरे कॉलम से प्राप्त करें

    MySQL में यूज़र-डिफ़ाइन्ड वेरिएबल (@var) का उपयोग करके पिछली पंक्ति के मान के आधार पर वर्तमान पंक्ति के लिए चल योग (क्यूमुलेटिव सम) या अन्य व्युत्पन्न मान की गणना कर सकते हैं। टेबल बनाएं mysql> CREATE TABLE DemoTable1868 (Value INT); डेटा डालें mysql> INSERT INTO DemoTable1868 VALUES(10), (2