Created
July 10, 2015 03:38
-
-
Save onare/57263b971d57663a5171 to your computer and use it in GitHub Desktop.
ALPHA and NUMERIC REGEXP_REPLACE MYSQL FUNCTION
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
USE `PRUEBA`; | |
DROP function IF EXISTS `alpha`; | |
DELIMITER $$ | |
USE `PRUEBA`$$ | |
CREATE DEFINER=`root`@`localhost` FUNCTION `alpha`( | |
vStr CHAR(75)) RETURNS char(32) CHARSET latin1 | |
BEGIN | |
DECLARE vInd, vLen SMALLINT DEFAULT 1; | |
DECLARE vReturn CHAR(32) DEFAULT ''; | |
DECLARE vCharacter CHAR(1); | |
REPEAT | |
SET vLen = CHAR_LENGTH(vStr); | |
BEGIN | |
SET vCharacter = MID(vStr,vInd,1); | |
IF vCharacter REGEXP '[[:alpha:]]' THEN | |
SET vReturn=CONCAT(vReturn,vCharacter); | |
END IF; | |
SET vInd =vInd+1; | |
END; | |
UNTIL vInd > vLen END REPEAT; | |
RETURN vReturn; | |
END$$ | |
DELIMITER ; | |
# Numeric | |
USE `PRUEBA`; | |
DROP function IF EXISTS `PRUEBA`.`num`; | |
DELIMITER $$ | |
USE `PRUEBA`$$ | |
CREATE DEFINER=`root`@`localhost` FUNCTION `num`( | |
vStr CHAR(75)) RETURNS char(32) CHARSET latin1 | |
BEGIN | |
DECLARE vInd, vLen SMALLINT DEFAULT 1; | |
DECLARE vReturn CHAR(32) DEFAULT ''; | |
DECLARE vCharacter CHAR(1); | |
REPEAT | |
SET vLen = CHAR_LENGTH(vStr); | |
BEGIN | |
SET vCharacter = MID(vStr,vInd,1); | |
IF vCharacter REGEXP '[[:digit:]|[:punct:]]' THEN | |
SET vReturn=CONCAT(vReturn,vCharacter); | |
END IF; | |
SET vInd =vInd+1; | |
END; | |
UNTIL vInd > vLen END REPEAT; | |
RETURN vReturn; | |
END$$ | |
DELIMITER ; | |
; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment