Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL का उपयोग करके एक पूर्णांक में शून्य की संख्या प्राप्त करें

आप जिस वर्ण को गिनना चाहते हैं, उसके साथ और उसके बिना स्ट्रिंग की लंबाई की तुलना कर सकते हैं।

समाधान LENGTH

-- 0 in 10090: 3
-- 0 in 10000: 4
SELECT 
   (LENGTH(number) - LENGTH(REPLACE(number, '0', ''))) AS char_count
FROM dual;

एक बेहतर और सुरक्षित समाधान का उपयोग करना है। CHAR_LENGTH LENGTH समारोह। CHAR_LENGTH के साथ फ़ंक्शन आप मल्टी-बाइट वर्णों को भी गिन सकते हैं (जैसे § )।

समाधान CHAR_LENGTH का उपयोग करके

-- § in 100§0: 1
SELECT 
    (CHAR_LENGTH(number) - CHAR_LENGTH(REPLACE(number, '§', ''))) AS char_count
FROM dual;

आप एकाधिक वर्णों का उपयोग करके एक स्ट्रिंग मान की गणना करने के लिए उपरोक्त समाधान का विस्तार भी कर सकते हैं।

-- 12 in 10120012: 2
SELECT number,
  FLOOR((CHAR_LENGTH(number) - CHAR_LENGTH(REPLACE(number, '12', ''))) / CHAR_LENGTH('12')) AS str_count
FROM dual;

dbfiddle.uk पर डेमो

MySQL पर आप एक फंक्शन बना सकते हैं उपरोक्त तर्क का सरल तरीके से उपयोग करने के लिए:

CREATE FUNCTION GetStringCount(strValue VARCHAR(255), strSearchValue VARCHAR(255))
RETURNS INT DETERMINISTIC NO SQL
RETURN FLOOR((CHAR_LENGTH(strValue) - CHAR_LENGTH(REPLACE(strValue, strSearchValue, ''))) / CHAR_LENGTH(strSearchValue));

आप इस नए फ़ंक्शन का उपयोग कर सकते हैं GetStringCount इस तरह:

-- example to count non-multi-byte character (here 0).
-- 0 in 10090: 3
-- 0 in 10000: 4
SELECT number, GetStringCount(number, '0') AS strCount
FROM dual;

-- example to count multi-byte character (here §).
-- § in 100§0: 1
SELECT number, GetStringCount(number, '§') AS strCount
FROM dual;

-- example to count a string with multiple characters.
-- 12 in 10120012: 2
SELECT number, GetStringCount(number, '12') AS strCount
FROM dual;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. संग्रहीत प्रक्रिया में गतिशील कर्सर

  2. MySQL प्रदर्शन धोखा पत्र

  3. PHP MySQL ग्रीक अक्षर जैसे दिखा रहे हैं ???? निशान

  4. mysql में ft_min_word_len FULLTEXT के लिए नया मान सेट करें

  5. MySQL FULLTEXT काम नहीं कर रहा है