首頁 > 資料庫 > 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板