MySQL 문자열 번호 추출 방법
MySQL은 문자열에서 숫자를 추출하는 다양한 방법을 제공합니다. 문자열이 숫자로 시작하는 경우 CAST()
함수나 암시적 유형 변환(예: '1234abc' 0)을 사용하여 숫자 부분을 추출할 수 있습니다.
모든 문자열을 처리하는 사용자 정의 기능
숫자가 아닌 문자가 포함되어 있거나 문자열 시작 부분에 숫자가 없는 문자열의 경우 ExtractNumber
:
<code class="language-sql">CREATE FUNCTION `ExtractNumber`(in_string VARCHAR(50)) RETURNS INT NO SQL BEGIN DECLARE inti INT DEFAULT 0; DECLARE sChar CHAR(1); DECLARE finNumber VARCHAR(50) DEFAULT ""; DECLARE strLength INT; SET strLength = LENGTH(in_string); WHILE(inti < strLength) DO SET sChar = SUBSTRING(in_string, inti + 1, 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); END</code>
커스텀 기능 사용 ExtractNumber
ExtractNumber
함수를 정의한 후 쿼리에 사용할 수 있습니다.
<code class="language-sql">SELECT ExtractNumber("abc1234def") AS number; -- 1234</code>
이 함수나 CAST()
메서드를 사용하면 MySQL 문자열에서 다양한 형식의 숫자를 추출할 수 있습니다.
위 내용은 MySQL의 문자열에서 숫자를 어떻게 추출할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!