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

MySQL में किसी पंक्ति में विशिष्ट सिंबल की संख्या कैसे गिनें?

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                                             |
+-----------------------------------------------+

कैसे काम करता है

  1. LENGTH(Value) - मूल स्ट्रिंग की लंबाई
  2. REPLACE(Value, '?', '') - सभी '?' को हटाता है
  3. LENGTH(...) - बिना '?' वाली स्ट्रिंग की लंबाई
  4. अंतर = '?' की संख्या

बहु-कैरेक्टर स्ट्रिंग के लिए

-- 'abc' की घटनाएं गिनने के लिए
SELECT (LENGTH(column) - LENGTH(REPLACE(column, 'abc', ''))) / LENGTH('abc') FROM table;

केस-सेंसिटिविटी

डिफ़ॉल्ट रूप से केस-सेंसिटिव। केस-इनसेंसिटिव के लिए:

SELECT (LENGTH(LOWER(column)) - LENGTH(REPLACE(LOWER(column), 'abc', ''))) / 3 FROM table;
  1. - MySQL में SELECT INTO वेरिएबल से विशिष्ट पंक्ति का एकल मान प्राप्त करें

    SELECT column INTO @variable FROM table WHERE condition का उपयोग करके एकल पंक्ति का एकल मान यूज़र-डिफ़ाइन्ड वेरिएबल में संग्रहीत करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1896 ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName VARCHAR(20), StudentMarks INT ); डेटा

  1. - MySQL में विशिष्ट मान वाले कॉलम की संख्या कैसे गिनें?

    SUM() के साथ गणना बाइनरी मान (0/1) वाले कॉलम के लिए: select sum(value1+value2+value3) as `Total_Number_Of_1`, sum(value1 and value2 and value3) as `Total_Number_Of_Rows_With_1` from yourTableName; उदाहरण insert into demo36(value1,value2,value3) values(1,0,0), (1,0,1), (1,1,1), (0,1,0), (

  1. - MySQL में IS NULL से टेबल की एकल पंक्ति में किसी NULL मान की जांच कैसे करें?

    IS NULL ऑपरेटर WHERE col1 IS NULL OR col2 IS NULL किसी भी कॉलम NULL होने पर पंक्ति चुनता है। उदाहरण insert into demo86 values(null,null), (null,John), (David,Mike), (Sam,null); क्वेरी और परिणाम select * from demo86 where value1 is null or value2 is null; +--------+--------+ | value1 | value2 |