我想从更大的字符串中获取一个字符串。要获取的字符串由特定字符分隔。

例如,如果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/

10-12 22:11
查看更多