【发布时间】:2019-10-09 11:27:27
【问题描述】:
我正在尝试获取两个特定字符串之间的整数值,但我有点堆叠。
完整字符串示例:
“真正的 ABC4_ 字符串可能是公司机密。”
我需要在“ABC”和“_”之间找到“4”。首先我想出了以下脚本:
select substring_index(substring_index('The real ABC4_ string is probably company secret.', 'ABC', -1),'_', 1);
它给了我 4 个,完美!但问题是如果 ABC 在字符串中出现不止一次,它就会失败。我也不能简单地增加计数器,因为我不知道将来会增加多少次。我必须首先出现该正则表达式:ABC[DIGIT]_
我见过 REGEXP_SUBSTR 函数,但由于我们使用比 8.0 更旧的 MySQL 版本,所以我也不能使用它。
有什么建议吗?
谢谢!
【问题讨论】:
-
也许你需要在应用代码中做。
-
@RickJames 是的,我不得不将其移至代码中,这可能是最有效(实际上是我想出的唯一一个)解决方案。