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