簡體   English   中英

如何在 MySQL 中的特定字符之后和特定字符之前獲取字符串?

[英]How to get a string after specific character and before specific character in MySQL?

我想從一個更大的字符串中獲取一個字符串。 要獲取的字符串由特定字符分隔。

例如,如果 field1 是“lipnice sivá <(Poa glauca)>”

我希望它返回“Poa glauca”

這個 select 語句會是什么樣子?

使用基本字符串 function 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');

按照下面的演示鏈接查看這兩個查詢。

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM