首页 > 数据库 > mysql教程 > 如何从 MySQL 查询中的字符串中提取数值?

如何从 MySQL 查询中的字符串中提取数值?

Patricia Arquette
发布: 2024-12-04 13:18:10
原创
292 人浏览过

How Can I Extract Numerical Values from Strings in MySQL Queries?

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板