从字符串字段中提取连续多位数字的sql函数
时间: 2023-10-08 08:08:42 浏览: 182
Mysql中实现提取字符串中的数字的自定义函数分享
可以使用 SQL 中的正则表达式函数来提取字符串中的连续多位数字。具体来说,可以使用 REGEXP_SUBSTR 函数或者 REGEXP_REPLACE 函数来实现。
以下是使用 REGEXP_SUBSTR 函数提取字符串中的连续多位数字的示例 SQL 语句:
```
SELECT REGEXP_SUBSTR(column_name, '[0-9]+') FROM table_name;
```
其中,column_name 是要提取的字符串列名,table_name 是包含该列的表名,'[0-9]+' 是正则表达式,表示匹配一个或多个数字。该函数将返回字符串中匹配该正则表达式的第一个子字符串。
如果你想提取所有连续多位数字,可以使用 REGEXP_REPLACE 函数将字符串中的非数字字符替换为空字符串,然后再使用 REGEXP_SUBSTR 函数提取数字。以下是示例 SQL 语句:
```
SELECT REGEXP_SUBSTR(REGEXP_REPLACE(column_name, '[^0-9]+', ''), '[0-9]+') FROM table_name;
```
其中,'[0-9]+' 仍然是正则表达式,'[^\d]+' 是表示匹配任何非数字字符的正则表达式,将其替换为空字符串后,就得到了一个只包含数字的字符串。然后使用 REGEXP_SUBSTR 函数提取其中的连续多位数字。
阅读全文