在MySQL查詢中,循環查找字符串非常常見。本文將介紹在MySQL中使用循環查找字符串的方法。
DELIMITER $$ CREATE FUNCTION findString(IN str VARCHAR(255), IN search_str VARCHAR(255)) RETURNS INT BEGIN DECLARE pos INT DEFAULT 1; DECLARE len INT DEFAULT LENGTH(str); DECLARE search_len INT DEFAULT LENGTH(search_str); DECLARE count INT DEFAULT 0; WHILE pos<= len DO IF SUBSTRING(str, pos, search_len) = search_str THEN SET count = count + 1; SET pos = pos + search_len; ELSE SET pos = pos + 1; END IF; END WHILE; RETURN count; END $$ DELIMITER ;
以上的代碼為定義一個名為findString
的函數。該函數接收兩個參數,第一個參數為文本字符串,第二個參數為要查找的字符串。
函數會在循環中查找字符串是否與search_str
匹配,如果匹配則計數器count
加1并將查找位置pos
加上search_len
,否則查找位置pos
加1。最后返回count
計數器的值。
下面是在MySQL中調用findString
函數的例子:
SELECT findString('hello world, hello', 'hello');
以上的查詢將返回結果2
,因為在文本字符串'hello world, hello'
中有兩個'hello'
。
以上是在MySQL中循環查找字符串的方法,希望對你有所幫助。