我想从更大的字符串中获取一个字符串。要获取的字符串由特定字符分隔。
例如,如果field1为“ lipnicesivá”
我希望它返回“ Poa glauca”
该选择语句是什么样的?
最佳答案
使用基本字符串函数SUBSTRING_INDEX
我们可以尝试:
SELECT
SUBSTRING_INDEX(
SUBSTRING_INDEX('lipnice sivá <(Poa glauca)>', '<(', -1), ')>', 1);
如果您使用的是MySQL 8+,那么我们可以
REGEXP_REPLACE
获取基于正则表达式的解决方案:SELECT
REGEXP_REPLACE('lipnice sivá <(Poa glauca)>', '^.*<\\((.*?)\\)>.*$', '$1');
请点击下面的演示链接查看两个查询。
Demo
关于mysql - 如何在MySQL中的特定字符之后和特定字符之前获取字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58280848/