首頁 > 資料庫 > mysql教程 > 如何從MySQL資料中提取數字字元進行準確比較?

如何從MySQL資料中提取數字字元進行準確比較?

Patricia Arquette
發布: 2024-12-07 21:16:16
原創
397 人瀏覽過

How to Extract Numeric Characters from MySQL Data for Accurate Comparisons?

從MySQL 資料中提取數字字元以進行準確比較

與MySQL 表中的特定數值進行比較,其中資料庫條目可能包含非-數字字符,需要一種可靠的方法來剔除那些非數字字符。雖然像 preg_replace 這樣的 PHP 函數提供了方便的解決方案,但 MySQL 需要一種本機方法。

用於剝離非數字的MySQL 函數

要有效地執行此任務,以下MySQL函數可以是建立:

CREATE FUNCTION STRIP_NON_DIGIT(input VARCHAR(255))
RETURNS VARCHAR(255)
BEGIN
   DECLARE output   VARCHAR(255) DEFAULT '';
   DECLARE iterator INT          DEFAULT 1;
   WHILE iterator < (LENGTH(input) + 1) DO
      IF SUBSTRING(input, iterator, 1) IN ( '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' ) THEN
         SET output = CONCAT(output, SUBSTRING(input, iterator, 1));
      END IF;
      SET iterator = iterator + 1;
   END WHILE;
   RETURN output;
END
登入後複製

用法

要在查詢中使用STRIP_NON_DIGIT 函數,只需將其應用於目標列,如下所示:

SELECT * FROM foo WHERE STRIP_NON_DIGIT(bar) = '12345';
登入後複製

此查詢將檢索 bar 列在刪除非數字字元後與使用者的匹配的記錄輸入「12345」。

以上是如何從MySQL資料中提取數字字元進行準確比較?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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