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中文網其他相關文章!