mysql - mysql 查询的正则表达式?

标签 mysql regex string

比如说,我在 mysql 数据库表中有一个 varchar(18) 字段(name:firmware)

字符串格式如下:ABC100-DE-3.10-0347,或者可能看起来像ABC100-DE-3.1-347。基本上,我唯一可以依赖的是“-”分隔符,最后一部分(0347,347)称为内部版本号。

3.1/3.10部分称为版本号。是否可以仅从此字段中选择内部版本号和版本号?我怀疑这个查询可能会将帮助转向正则表达式,因为字符串函数无法完成这项工作。

谢谢!

最佳答案

试一下:

select SUBSTRING_INDEX(theField,'-',-1) as buildNumber,
       SUBSTRING_INDEX(SUBSTRING_INDEX(theField,'-',-2),'-',1) as versionNumber
from theTable

关于mysql - mysql 查询的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6310338/

相关文章:

java - 从 Eclipse 访问 MySql 时出现错误 "Unknown system variable ' lower_case_table_names'"

php - 创建 MySQL 函数来替换 PHP 代码

C++ strncpy 意外输出

string - GNAT 18.1 将字符视为字符串

c - 如何用C更好的方式将字符串插入字符串?

mysql - 有没有办法让mysql选择varchar类型作为日期?

python - 如何在 macOS 上使用 freeTDS 连接本地 mysql

javascript - 如何构建 JavaScript 正则表达式来提取数字

C# 检查基于文本的答案是否正确

python - { } 量词如何工作?