इसके लिए LENGTH() का उपयोग करें।
टेबल बनाएं
mysql> create table DemoTable (
-> Value TEXT
-> );
Query OK, 0 rows affected (0.74 sec)
रिकॉर्ड्स डालें
mysql> insert into DemoTable values('10,20,10,30,10,40,50,40');
Query OK, 1 row affected (0.24 sec)
सभी रिकॉर्ड्स देखें
mysql> select * from DemoTable;
+-------------------------+ | Value | +-------------------------+ | 10,20,10,30,10,40,50,40 | +-------------------------+ 1 row in set (0.00 sec)
MySQL में विशिष्ट स्ट्रिंग की घटनाओं की संख्या गिनने का क्वेरी ('10' की घटना)
mysql> SELECT LENGTH(Value) + 2 - LENGTH(REPLACE(CONCAT(',', Value, ','), ',10,', 'len')) FROM DemoTable;
आउटपुट:
+----------------------------------------------------------------------------+
| LENGTH(Value) + 2 - LENGTH(REPLACE(CONCAT(',', Value, ','), ',10,', 'len')) |
+----------------------------------------------------------------------------+
| 3 |
+----------------------------------------------------------------------------+
1 row in set (0.00 sec)
व्याख्या:
CONCAT(',', Value, ',')- शुरुआत और अंत में कॉमा जोड़ें (',10,20,10,30,10,40,50,40,')REPLACE(..., ',10,', 'len')- प्रत्येक ',10,' को 'len' (3 वर्ण) से बदलेंLENGTH(Value) + 2- मूल लंबाई + 2 (जोड़े गए कॉमा)- लंबाई अंतर / 3 = घटनाओं की संख्या (सरलीकृत सूत्र)
- '10' 3 बार आता है
सामान्य सूत्र: (LENGTH(str) - LENGTH(REPLACE(str, substr, ''))) / LENGTH(substr)
कॉमा-सेपरेटेड मानों के लिए सीमा समायोजन की आवश्यकता होती है।