千家信息网

MySQL怎么从字符串中抽取数值

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本篇内容介绍了"MySQL怎么从字符串中抽取数值"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MyS
千家信息网最后更新 2025年02月02日MySQL怎么从字符串中抽取数值

本篇内容介绍了"MySQL怎么从字符串中抽取数值"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

MySQL的字符串函数非常多,以至于有时候我不知道该如何灵活的使用这些函数。

字符串基本信息函数 collation convert,char_length等

加密函数 password(x),encode, aes_encrypt

字符串连接函数 concat(x1,x2,….)

修剪函数 trim,ltrim,rtrim
子字符串操作函数 substring(x,start,length),mid(x,start,length)

字符串复制函数 repeat,space

字符串比较函数 strcmp
字符串逆序函数 reverse

如果真给一个场景,还真说不定能够拍胸脯适合。

假设我有如下的需求,比如邮箱注册账号,指定账号是以数字开头,内容如下:

1234@mail.com

012345@aa.mail.com

1234mm@mail.com

1234test@mail.com

如果需要把里面的数字提取出来,有什么好的办法呢。

如果使用字符串函数,一种方式就是使用正则,或者直接给定条件来做过滤。

比如replace(xxxx,right(xxx))

还有一种思路就是创建一个函数或者存储过程,通过结构化的方法来做转换。

如上的几种方法其实都比较麻烦,还有什么办法呢,我就举一反三,给出两个来。

第一个解法就是使用字符串的数据类型转换。

比如:

mysql> select cast('123456@xx.com' as unsigned);
+------------------------------------+
| cast('123456@xx.com' as unsigned) |
+------------------------------------+
| 123456 |
+------------------------------------+
1 row in set, 1 warning (0.00 sec)

我们可以很明显看到结果和一个警告。

mysql> show warnings;
+---------+------+-----------------------------------------------------+
| Level | Code | Message |
+---------+------+-----------------------------------------------------+
| Warning | 1292 | Truncated incorrect INTEGER value: '123456@163.com' |
+---------+------+-----------------------------------------------------+
1 row in set (0.00 sec)

解法二:

这个解法更简单,有种鬼斧神工的感觉。
mysql> select -(-'123456@163.com');
+----------------------+
| -(-'123456@163.com') |
+----------------------+
| 123456 |
+----------------------+
1 row in set, 1 warning (0.00 sec)

如果是前面含有冗余的数字,也是可以转换的。

mysql> select -(-'012345@aa.mail.com');
+--------------------------+
| -(-'012345@aa.mail.com') |
+--------------------------+
| 12345 |
+--------------------------+
1 row in set, 1 warning (0.00 sec)

"MySQL怎么从字符串中抽取数值"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

函数 字符 字符串 内容 就是 数字 解法 数值 抽取 办法 方法 更多 知识 账号 过程 明显 有种 举一反三 鬼斧神工 学有所成 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全最终目的是谁 仁怀数据库技术与应用 崩坏三咋切换服务器 广西数据软件开发设施推广 军人网络安全手机桌面 ar技术 软件开发 海淀区专业网络技术服务大概费用 广东商业软件开发制造价格 无锡节能软件开发定制 你们的服务器都是纯生存吗 动态配置不同数据库数据源 辽宁铁岭联通dns服务器地址 网络安全治理工作领导小组 火箭军计算机网络技术干什么 老头环为啥无法登录服务器 rust开通服务器 宝山区数据软件开发代理品牌 计算机网络安全技术员培训 闵行区多功能软件开发私人定做 主用备用服务器 静安区参考网络技术咨询热线 软件开发合同签订依据 python不适合软件开发 云霄县艺丹网络技术工作室 广东商业软件开发制造价格 计算机网络技术应用有哪些 数据库怎么删除表的学号 网络安全专业高职 国产服务器芯片品牌 上海推广网络技术来电咨询
0