> 데이터 베이스 > MySQL 튜토리얼 > MySQL의 문자열에서 숫자를 어떻게 추출할 수 있나요?

MySQL의 문자열에서 숫자를 어떻게 추출할 수 있나요?

DDD
풀어 주다: 2025-01-09 16:41:42
원래의
333명이 탐색했습니다.

How Can I Extract Numbers from Strings in MySQL?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿