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

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

Patricia Arquette
Patricia Arquette原创
2024-12-04 13:18:10294浏览

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn