MySQL의 영숫자 문자열에서 숫자 추출
데이터베이스 프로그래밍에서는 구조화되지 않았거나 혼합 유형 문자열에서 특정 데이터를 추출하는 것이 일반적인 작업입니다. MySQL은 문자열에서 숫자를 분리하는 기능을 포함하여 이러한 목적을 위한 다양한 기능과 기술을 제공합니다.
문자열에서 숫자를 추출하는 한 가지 방법은 MySQL의 캐스트 기능을 활용하는 것입니다. CAST() 함수를 사용하면 문자열을 숫자 유형으로 암시적으로 변환하고 숫자가 아닌 문자를 삭제할 수 있습니다. 예를 들어 CAST('1234abc' AS UNSIGNED)는 1234를 반환합니다.
또 다른 방법은 맞춤 기능을 사용하는 것입니다. 입력 문자열을 반복하고, 각 문자의 숫자 값을 확인하고, 숫자를 새 문자열로 연결하는 함수를 정의하여 숫자 추출을 위한 재사용 가능한 솔루션을 만들 수 있습니다. 다음 기능을 고려해보세요:
<code class="language-sql">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 = SUBSTR(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</code>
함수를 정의한 후 쿼리에서 함수를 호출하여 문자열에서 숫자를 추출할 수 있습니다. 예를 들어 다음 쿼리는 숫자 1234를 반환합니다.
<code class="language-sql">SELECT ExtractNumber("abc1234def") AS number;</code>
위 내용은 MySQL의 영숫자 문자열에서 숫자를 어떻게 추출할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!