CAST 함수와 사용자 정의 함수를 사용하여 MySQL의 문자열에서 숫자 추출
MySQL의 CAST 함수는 문자열에서 숫자를 추출할 수 있지만 전제 조건은 문자열이 숫자로 시작해야 한다는 것입니다. 문자열에서 숫자를 추출하려면 다음 코드와 같은 사용자 정의 함수를 사용할 수 있습니다.
DELIMITER $$ CREATE FUNCTION `ExtractNumber`(in_string VARCHAR(50)) RETURNS INT NO SQL BEGIN DECLARE ctrNumber VARCHAR(50); DECLARE finNumber VARCHAR(50) DEFAULT ''; DECLARE sChar VARCHAR(1); DECLARE inti INTEGER DEFAULT 1; IF LENGTH(in_string) > 0 THEN WHILE(inti <= LENGTH(in_string)) DO SET sChar = SUBSTRING(in_string, inti, 1); IF sChar BETWEEN '0' AND '9' THEN SET finNumber = CONCAT(finNumber, sChar); END IF; SET inti = inti + 1; END WHILE; RETURN CAST(finNumber AS UNSIGNED); ELSE RETURN 0; END IF; END$$ DELIMITER ;
이 함수를 사용하면 MySQL 쿼리의 문자열에서 숫자를 추출할 수 있습니다.
SELECT ExtractNumber("abc1234def") AS number;
이 쿼리는 사용자 정의 함수가 문자열을 반복하고 숫자를 식별하여 단일 숫자로 연결하기 때문에 1234를 반환합니다.
위 내용은 MySQL의 문자열에서 숫자를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!