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

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

Barbara Streisand
發布: 2025-01-09 16:37:42
原創
653 人瀏覽過

How to Extract Digits from a String in MySQL?

MySQL中使用CAST函數和自訂函數從字串中提取數字

MySQL的CAST函數可以從字串中提取數字,但前提是字串必須以數字開頭。要從任意字串中提取數字,可以使用自訂函數,例如以下程式碼:

<code class="language-sql">DELIMITER $$

CREATE FUNCTION `ExtractNumber`(in_string VARCHAR(50)) 
RETURNS INT
NO SQL
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$$

DELIMITER ;</code>
登入後複製

使用此函數,可以在MySQL查詢中從字串中提取數字:

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

此查詢將傳回1234,因為自訂函數會遍歷字串,識別數字字符,並將它們連接成一個數字。

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

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