ホームページ > データベース > mysql チュートリアル > MySQL の文字列から数値を抽出するにはどうすればよいですか?

MySQL の文字列から数値を抽出するにはどうすればよいですか?

DDD
リリース: 2025-01-09 16:41:42
オリジナル
298 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート