我想从更大的字符串中获取一个字符串。要获取的字符串由特定字符分隔。
例如,如果field1是"lipnice sivá <(Poa glauca)>"
我希望它返回"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链接查看两个查询。