mysql取出字符串中数字
时间:2023年12月04日
/来源:网络
/编辑:佚名
MySQL是一个非常强大的数据库管理系统,它支持多种操作和数据类型。在MySQL中,我们常常需要取出字符串中的数字来进行计算和比较。下面就介绍一些方法。
方法一:使用SUBSTRING_INDEX函数。
SELECT SUBSTRING_INDEX('abc123def456', '123', -1) AS num;
其中'abc123def456'为原字符串,'123'为分隔符,-1表示从右往左找到最后一个分隔符后的剩余字符串。
方法二:使用正则表达式。
SELECT SUBSTRING('abc123def456' FROM '\\d+') AS num;
其中'abc123def456'为原字符串,'\\d+'表示匹配一到多个数字。
方法三:使用TRIM函数。
SELECT TRIM(LEADING 'a-z' FROM 'abc123def456') AS num;
其中'abc123def456'为原字符串,LEADING表示从左往右匹配,'a-z'表示匹配a到z的所有字母。
方法四:使用REPLACE函数。
SELECT REPLACE(REPLACE('abc123def456', LEFT('abc123def456', LOCATE('1', 'abc123def456')-1), ''), RIGHT('abc123def456', LENGTH('abc123def456')- LOCATE('6', 'abc123def456')+ 1), '') AS num;
其中'abc123def456'为原字符串,LOCATE表示查找子串在主串中第一次出现的位置,LEFT表示按照位置截取字符串,RIGHT表示从最后一个位置开始截取字符串。
综上所述,MySQL取出字符串中数字的方法有很多种,我们可以根据需要选择适合自己的方法。
方法一:使用SUBSTRING_INDEX函数。
SELECT SUBSTRING_INDEX('abc123def456', '123', -1) AS num;
其中'abc123def456'为原字符串,'123'为分隔符,-1表示从右往左找到最后一个分隔符后的剩余字符串。
方法二:使用正则表达式。
SELECT SUBSTRING('abc123def456' FROM '\\d+') AS num;
其中'abc123def456'为原字符串,'\\d+'表示匹配一到多个数字。
方法三:使用TRIM函数。
SELECT TRIM(LEADING 'a-z' FROM 'abc123def456') AS num;
其中'abc123def456'为原字符串,LEADING表示从左往右匹配,'a-z'表示匹配a到z的所有字母。
方法四:使用REPLACE函数。
SELECT REPLACE(REPLACE('abc123def456', LEFT('abc123def456', LOCATE('1', 'abc123def456')-1), ''), RIGHT('abc123def456', LENGTH('abc123def456')- LOCATE('6', 'abc123def456')+ 1), '') AS num;
其中'abc123def456'为原字符串,LOCATE表示查找子串在主串中第一次出现的位置,LEFT表示按照位置截取字符串,RIGHT表示从最后一个位置开始截取字符串。
综上所述,MySQL取出字符串中数字的方法有很多种,我们可以根据需要选择适合自己的方法。
新闻资讯 更多
- 【建站知识】查询nginx日志状态码大于400的请求并打印整行04-03
- 【建站知识】Python中的logger和handler到底是个什么?04-03
- 【建站知识】python3拉勾网爬虫之(您操作太频繁,请稍后访问)04-03
- 【建站知识】xpath 获取meta里的keywords及description的方法04-03
- 【建站知识】python向上取整以50为界04-03
- 【建站知识】scrapy xpath遇见乱码解决04-03
- 【建站知识】scrapy爬取后中文乱码,解决word转为html 时cp1252编码问题04-03
- 【建站知识】scrapy采集—爬取中文乱码,gb2312转为utf-804-03