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

प्रति क्षेत्र रेगेक्स मैच की मैसकल गिनती संख्या

आप एक फ़ंक्शन बना सकते हैं:

delimiter ||
DROP FUNCTION IF EXISTS substrCount||
CREATE FUNCTION substrCount(s VARCHAR(255), ss VARCHAR(255)) RETURNS TINYINT(3) UNSIGNED LANGUAGE SQL NOT DETERMINISTIC READS SQL DATA
BEGIN
DECLARE count TINYINT(3) UNSIGNED;
DECLARE offset TINYINT(3) UNSIGNED;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET s = NULL;

SET count = 0;
SET offset = 1;

REPEAT
IF NOT ISNULL(s) AND offset > 0 THEN
SET offset = LOCATE(ss, s, offset);
IF offset > 0 THEN
SET count = count + 1;
SET offset = offset + 1;
END IF;
END IF;
UNTIL ISNULL(s) OR offset = 0 END REPEAT;

RETURN count;
END;

||
delimiter ;

जिसे आप तब इस तरह कॉल कर सकते हैं

SELECT substrCount('aabbccaa', 'a') `count`;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP के माध्यम से MySQL को XML में बदलें

  2. MySQL InnoDB:ऑटोइनक्रिकमेंट गैर-प्राथमिक कुंजी

  3. MySQL:उसी MySql उदाहरण पर एक MySQL डेटाबेस को क्लोन करना

  4. भेजे गए संदेश पर प्रतिक्रिया समय जांचें - केवल SQL का उपयोग करने के साथ संभव है?

  5. SQL सर्वर 2008 R2 से MySQL माइग्रेशन