從MySQL 查詢中的字串取得數值
遇到包含價格的兩列之間不匹配的情況,一位用戶尋求一種解決方案來提取數值value_display 列中的字串表示形式並更新相應的價格列。
一次成功此方法採用了專門從字串中提取數字的函數,從而適應各種前綴或後綴。這個標記為“digits”的函數創建如下:
CREATE FUNCTION digits( str CHAR(32) ) RETURNS CHAR(32) BEGIN DECLARE i, len SMALLINT DEFAULT 1; DECLARE ret CHAR(32) DEFAULT ''; DECLARE c CHAR(1); IF str IS NULL THEN RETURN ""; END IF; SET len = CHAR_LENGTH( str ); REPEAT BEGIN SET c = MID( str, i, 1 ); IF c BETWEEN '0' AND '9' THEN SET ret=CONCAT(ret,c); END IF; SET i = i + 1; END; UNTIL i > len END REPEAT; RETURN ret; END;
為了演示其有效性,請考慮查詢:
SELECT digits('.00Fr');
輸出將為“1000”,與預期數值。這個客製化函數提供了一種從 MySQL 查詢中的字串中提取數值的可靠方法,滿足了使用者的特定需求。
以上是如何從 MySQL 查詢中的字串提取數值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!