Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE FUNCTION `REGEXP_SEARCH_SMALLEST_TERM`(`stringSubject` MEDIUMTEXT, `stringPattern` TEXT)
- RETURNS TEXT
- LANGUAGE SQL
- DETERMINISTIC
- NO SQL
- SQL SECURITY DEFINER
- COMMENT ''
- BEGIN
- DECLARE searchSubject TEXT DEFAULT stringSubject;
- DECLARE searchSmallestContent TEXT DEFAULT NULL;
- DECLARE searchSmallestContentLength INT DEFAULT LENGTH(stringSubject);
- DECLARE matchLast TEXT DEFAULT NULL;
- DECLARE matchPosition INT DEFAULT NULL;
- DECLARE matchLength INT DEFAULT NULL;
- defaultLooping:
- LOOP
- SET matchLast = REGEXP_SUBSTR(searchSubject, stringPattern);
- IF matchLast = '' THEN
- LEAVE defaultLooping;
- END IF;
- SET matchPosition = REGEXP_INSTR(searchSubject, stringPattern);
- SET matchLength = LENGTH(matchLast);
- SET searchSubject = SUBSTRING(searchSubject, matchPosition + matchLength);
- IF matchLength < searchSmallestContentLength THEN
- SET searchSmallestContent = matchLast;
- SET searchSmallestContentLength = matchLength;
- END IF;
- ITERATE defaultLooping;
- END LOOP;
- RETURN searchSmallestContent;
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement