从 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中文网其他相关文章!