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