LENGTH() और REPLACE() के साथ अंकों में शून्य गिनना
एक पूर्णांक मान में शून्य अंकों की संख्या गिनने के लिए, मान को स्ट्रिंग मानकर LENGTH() और REPLACE() का उपयोग करें।
टेबल और डेटा
mysql> CREATE TABLE DemoTable (
Value INT
);
Query OK, 0 rows affected (1.22 sec)
mysql> INSERT INTO DemoTable VALUES(10002000); Query OK, 1 row affected (0.09 sec) mysql> INSERT INTO DemoTable VALUES(00000); Query OK, 1 row affected (0.17 sec) mysql> INSERT INTO DemoTable VALUES(400560); Query OK, 1 row affected (0.19 sec)
सभी रिकॉर्ड (ध्यान दें: 00000 → 0 के रूप में संग्रहीत होता है)
mysql> SELECT * FROM DemoTable;
+----------+ | Value | +----------+ | 10002000 | | 0 | | 400560 | +----------+ 3 rows in set (0.00 sec)
प्रति पंक्ति शून्य गिनने की क्वेरी
mysql> SELECT (LENGTH(Value) - LENGTH(REPLACE(Value, '0', ''))) AS NumberOfZeros FROM DemoTable;
परिणाम:
+---------------+ | NumberOfZeros | +---------------+ | 6 | | 1 | | 3 | +---------------+ 3 rows in set (0.00 sec)
गणना:
- 10002000: लंबाई 8, '0' हटाने के बाद '12' (लंबाई 2) → 8-2=6 शून्य
- 0: लंबाई 1, '0' हटाने के बाद '' (लंबाई 0) → 1-0=1 शून्य
- 400560: लंबाई 6, '0' हटाने के बाद '456' (लंबाई 3) → 6-3=3 शून्य
नोट: INT कॉलम में अग्रणी शून्य संग्रहीत नहीं होते (00000 → 0)। यदि अग्रणी शून्य महत्वपूर्ण हैं, तो VARCHAR/CHAR उपयोग करें।