首頁 > 資料庫 > mysql教程 > 如何從 MySQL 中的字母數字字串中提取數字?

如何從 MySQL 中的字母數字字串中提取數字?

Patricia Arquette
發布: 2025-01-09 16:52:42
原創
157 人瀏覽過

How Can I Extract Numbers from Alphanumeric Strings in MySQL?

MySQL 字串中數字的擷取方法

在處理MySQL中的字母數字字串時,有時需要提取其中的數字。這可以透過多種方法實現。

使用明確轉換

如果字串以數字字元開頭,可以使用CAST()函數或在開頭添加0將其轉換為整數。例如:

<code class="language-sql">SELECT CAST('1234abc' AS UNSIGNED); -- 1234
SELECT '1234abc'+0; -- 1234</code>
登入後複製

使用自訂函數擷取數字

對於字串中可能包含非數字字元的更複雜的情況,可以建立一個自訂函數來只提取數字。一個這樣的函數是:

<code class="language-sql">CREATE FUNCTION `ExtractNumber`(in_string VARCHAR(50)) 
RETURNS INT
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 = SUBSTRING(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>
登入後複製

應用自訂函數

定義函數後,可以在查詢中使用它來從字串中提取數字。例如:

<code class="language-sql">SELECT ExtractNumber("abc1234def") AS number; -- 1234</code>
登入後複製

以上是如何從 MySQL 中的字母數字字串中提取數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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