在 MySQL 數據庫中提取字符串中的數字是一個常見的需求,比如將一個包含數值的字符串轉換為數字,或者提取字符串中的特定數字進行計算。下面介紹幾種常見的方法。
方法一:使用SUBSTR和REGEXP_REPLACE函數 SELECT CAST(REGEXP_REPLACE(SUBSTR('abc123def456', REGEXP_INSTR('abc123def456', '[0-9]')), '[^0-9]', '') AS UNSIGNED) AS num; -- 結果:123 方法二:使用SUBSTR和REGEXP_SUBSTR函數 SELECT CAST(REGEXP_SUBSTR(SUBSTR('abc123def456', REGEXP_INSTR('abc123def456', '[0-9]')), '[0-9]+') AS UNSIGNED) AS num; -- 結果:123 方法三:使用SUBSTR和LOCATE函數 SELECT CAST(SUBSTR('abc123def456', LOCATE('123', 'abc123def456')) AS UNSIGNED) AS num; -- 結果:123
以上三種方式利用的都是 MySQL 提供的內置函數,具體使用哪種方法取決于個人需求和習慣。