LENGTH() और REPLACE() से सिंबल काउंट करें
किसी कॉलम में विशिष्ट कैरेक्टर (जैसे '?') की घटनाओं की गणना करने के लिए LENGTH() और REPLACE() के संयोजन का उपयोग करें।
सूत्र
LENGTH(column) - LENGTH(REPLACE(column, 'target_char', ''))
उदाहरण सेटअप
mysql> CREATE TABLE DemoTable (Value VARCHAR(200));
mysql> INSERT INTO DemoTable VALUES('?1234?6789?5656?324?');
डेटा देखना
mysql> SELECT * FROM DemoTable;
+----------------------+
| Value |
+----------------------+
| ?1234?6789?5656?324? |
+----------------------+
'?' की गणना करना
mysql> SELECT LENGTH(Value) - LENGTH(REPLACE(Value, '?', '')) FROM DemoTable;
+-----------------------------------------------+
| LENGTH(Value) - LENGTH(REPLACE(Value,'?','')) |
+-----------------------------------------------+
| 5 |
+-----------------------------------------------+
कैसे काम करता है
LENGTH(Value)- मूल स्ट्रिंग की लंबाईREPLACE(Value, '?', '')- सभी '?' को हटाता हैLENGTH(...)- बिना '?' वाली स्ट्रिंग की लंबाई- अंतर = '?' की संख्या
बहु-कैरेक्टर स्ट्रिंग के लिए
-- 'abc' की घटनाएं गिनने के लिए
SELECT (LENGTH(column) - LENGTH(REPLACE(column, 'abc', ''))) / LENGTH('abc') FROM table;
केस-सेंसिटिविटी
डिफ़ॉल्ट रूप से केस-सेंसिटिव। केस-इनसेंसिटिव के लिए:
SELECT (LENGTH(LOWER(column)) - LENGTH(REPLACE(LOWER(column), 'abc', ''))) / 3 FROM table;