MySQL 如何从MySQL字符串中提取数字部分? | 您所在的位置:网站首页 › 如何输出空字符串的数字和字母 › MySQL 如何从MySQL字符串中提取数字部分? |
MySQL 如何从MySQL字符串中提取数字部分?
在MySQL中,字符串和数字之间经常需要进行相互转换的操作。其中,提取字符串中的数字部分也是经常遇到的问题。本文将会介绍如何从MySQL字符串中提取数字的方法。 阅读更多:MySQL 教程 使用正则表达式提取数字我们可以使用正则表达式来从字符串中匹配数字。在MySQL中,提供了正则表达式的支持,我们可以使用REGEXP函数来进行匹配操作。 SELECT REGEXP_REPLACE('hello12world3', '[^0-9]+', '') AS number;输出结果为:123 在上述代码中,使用REGEXP_REPLACE函数可以将所有非数字部分的字符替换为空字符串'',从而得到字符串中的数字部分。 SELECT REGEXP_REPLACE('hello12world3', '[^0-9]+', '') AS number;输出结果为:123 上述代码中,使用了正则表达式[^0-9]+来匹配非数字部分的字符,^表示取反,意为不是数字的字符都进行匹配。+表示匹配一个或多个相连的非数字字符。 使用SUBSTRING函数提取数字另一种提取字符串中数字的方法是使用SUBSTRING函数。该函数返回一个指定位置的子字符串。 SELECT SUBSTRING('hello12world3', 1, 2);输出结果为:he 上述代码中,我们使用SUBSTRING函数取得了位置从1开始,长度为2的子字符串。 下面我们使用该函数结合循环语句从整个字符串中提取数字。 CREATE PROCEDURE extract_number(IN str VARCHAR(255), OUT number VARCHAR(255)) BEGIN DECLARE cur_str VARCHAR(255); DECLARE cur_char VARCHAR(1); DECLARE cur_pos INT DEFAULT 1; DECLARE str_len INT; SET str_len = LENGTH(str); SET number = ''; label1: WHILE cur_pos |
CopyRight 2018-2019 实验室设备网 版权所有 |